Перейти к контенту
  • 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
Ссылка на комментарий
Поделиться на других сайтах

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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