Перейти к контенту
  • 0

Как сделать из аватары ссылку?


ghost46

Вопрос

В общем, фича - например я загрузил аватару на форум размером 640Х480 и она автоматом отредила ее до размеров 150 на 150, у меня вопрос - как сделать так, чтобы при нажатии на аватару открывалась страничка с аватарой в натуральную велечину (это скорее нужно когда на форум грузят фотку)...

 

Вроде как в поиске про аватары написано почему они не грузятся а подобного вопроса еще не поднималось...

Изменено пользователем arigoda
Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Ваш вопрос:

В общем, фича - например я загрузил аватару на форум размером 640Х480 и она автоматом отредила ее до размеров 150 на 150, у меня вопрос - как сделать так, чтобы при нажатии на аватару открывалась страничка с аватарой в натуральную велечину (это скорее нужно когда на форум грузят фотку)...

 

Вроде как в поиске про аватары написано почему они не грузятся а подобного вопроса еще не поднималось...

Мой ответ на ваш вопрос:

Не понятен вопрос! Объясните более точно, что вам надо...

Прошу прошения за оффтоп, но вы случайно не из Ростова-на-Дону??

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Вопрос: Как сделать так, чтобы при нажатии на аватару выскакивало окошко с изображением в реальну велечину? Тоесть, если я поставлю на аватару фотку (640 на 480), то форум мне сожмет ее до размеров, допустимых аватаре (150 на 150), а мне нужно чтобы потом в топике кликнул на аватару и вылезло окошко с картинкой в настоящем разрешении (640 на 480), понятно?

 

зы: я из Москвы! :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

сам вопрос превращения аватарки в ссылку и поднятие яваскриптом отдельного окошка решается примитивно и просто.

но если я правильно помню, форум не хранит исходную копию картинки, только ужатую.

вот и две задачи, которые нужно решать - изменения кода скрипта загрузки аватарки и дизайн-модификация - изменение вывода аватарки в топике, профиле, PM и - где там еще? вроде все.

 

но так и или иначе, это модификация. наверное вам лучше пошариться на изе или можно перекинуть эту темку в запросы на разработку модов.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

arigoda: а вот у меня почему то просто при показе ресайзит, а просто открыв аватар, виден в натуральную величину ))

 

как раз в 1.2 финал )

Ссылка на комментарий
Поделиться на других сайтах

  • 0
arigoda: а вот у меня почему то просто при показе ресайзит, а просто открыв аватар, виден в натуральную величину ))

 

как раз в 1.2 финал )

 

опа, и то правда :D не ресайзит

тогда все проще.

функция находится в sources/functions.php и называецца get_avatar()

 

с флешками возиться не стал, для картинок, уже загруженных на сервер, можно сделать так - взять например готовую форумовскую вариацию на тему java script:open(); - в примере использован вызов окошка ICQ -

 

найти

return "<img src='{$ibforums->vars['upload_url']}/$member_avatar' border='0' width='{$this_dims[0]}' height='{$this_dims[1]}' alt='' />";

заменить на

return "<a href=\"javascript:PopUp('{$ibforums->vars['upload_url']}/$member_avatar','Avatar','450','330','0','1','1','1')\"><img src='{$ibforums->vars['upload_url']}/$member_avatar' border='0' width='{$this_dims[0]}' height='{$this_dims[1]}' alt='' /></a>";

 

для аватарок-ссылок есть аналогичная строчка чуть выше

return "<img src='{$member_avatar}' border='0' width='{$this_dims[0]}' height='{$this_dims[1]}' alt='' />";

а для стандартных - чуть ниже.

 

в общем-то, для флешек тоже самое, только размеры убрать...

размеры самого окошка, название - доработать напильником по необходимости.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

большое спасибо - все работает, вроде как никаких лагов всвязи с данной модификацией замечано не было... :D

Спасибо, еще раз!

Ссылка на комментарий
Поделиться на других сайтах

  • 0

да то, что я описал, вроде должно работать. там можно доработать юзабилити разве что...

а вот сомнения у меня по поводу тех аватарок, которые отображаются с левого сайта.

не появится ли в какая-нить дырочка, если в этом случае провернуть такую же штуку...

Ссылка на комментарий
Поделиться на других сайтах

  • 0

а у меня теперь возник новый вопрос - как сделать так, чтобы при нажатии на аватару на: welcome-панели, в профиле и тд. не вылезало сообщение об ошибке выполнения скрипта. Причем в опере при нажатии вообще ничего не отображается (ну это и понятно).

Тоесть в топиках при нажатии на аватар, вылезает фотка в натуральную величину, а в остальных меню (профиль, велком-панель) нет, как это исправить?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

ошибка наверное вылазит, потому что не найдена функция PopUp()

надо посмотреть где ее не хватает и вынести ее.

нууу, ребята, это же все настолько просто.... :D

 

находите в skin_topic.php яваскриптовую функцию popUp(). можете не искать, вот она:

 

    function PopUp(url, name, width,height,center,resize,scroll,posleft,postop) {
   if (posleft != 0) { x = posleft }
   if (postop  != 0) { y = postop  }

   if (!scroll) { scroll = 1 }
   if (!resize) { resize = 1 }

   if ((parseInt (navigator.appVersion) >= 4 ) && (center)) {
     X = (screen.width  - width ) / 2;
     Y = (screen.height - height) / 2;
   }
   if (scroll != 0) { scroll = 1 }

   var Win = window.open( url, name, 'width='+width+', height='+height+', top='+Y+', left='+X+', resizable='+resize+', scrollbars='+scroll+', location=no, directories=no, status=no, menubar=no, toolbar=no');
}

 

копируете в буфер.

 

где там проблемы?

в загрузке аватара в профиле?

скажите, дети, какой там скрипт скина? прааавильно, skin_ucp.php

ищем там функцию отображения страницы с аватаркой.

это php-шная функция avatar_main

в ней находим:

 

//-->
</script>

 

и прямо ПЕРЕД этими строчками вставляем означенный выше код функции popUp()

 

где еще? в велкам-панели?

а где у нас отображается велкам-панель? правильно, на главной и в категориях.

значит ищем в skin_board.php - функция WelcomePanel

ой, а что тут? а тут у нас нет ни одного яваскирпта! какой кошмар... что же делать?

ну что делать, что делать...

вариант первый, который лично мне не по нраву.

в самом-самом начале этой функции находим:

return <<<EOF

в сразу после этого добавляем -

    <script language='javascript' type='text/javascript'>
   <!--

дальше - код фукнции,

ну и после - закрываем тег скрипта:

    
//-->
</script>

 

почему это имхо плохой вариант? потому что мы, получается, скопировали одну и ту же функцию в три наиболее используемых скиновых скрипта. а если что - править придется тоже в нескольких местах. а так как скины эти - как раз самые часто используемые, то от небольшой экономми места на других страницах, мы больше проигрываем...

имхо, но только имхо, правильнее найти - где еще в скинах эта яваскирптовая функция popUp попадается, выкорчевать ее оттуда нафиг, потом пойти в skin_global.php, найти там функцию BoardHeader, внутри нее - окончание яваскрипта (см. выше - что искали в skin_ucp) и раз и навсегда засунуть ее туда.

Изменено пользователем arigoda
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.