Перейти к содержимому
Русский язык для Invision Community 5

Аватар автора темы в заголовке

Решил в 3.1.4 сделать отображение аватары автора в заголовке темы как в более старших версиях IPB.

 

Сделал так:

<img src="/uploads/av-{$topic['starter_id']}.jpg" height="50px" class="photo"/>

Естественно получилось коряво, так как отображаются лишь те аватары, которые загруженны в директорию uploads, да и ещё и имеют расширение jpg

 

Не подскажите как сделать грамотно такой фикс?

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

Обратите внимание

По указанному вами в профиле "Board url" находится не IP.Board, либо модифицированный пиратский скрипт с удаленными копирайтами. Если вы указали неверный URL, пожауйста, поправьте его, потому что он скорее всего потребуется при диагностике вашей проблемы. Нелицензионные скрипты не приветствуются, т.к. зачастую именно некорректное "нуление" и является причиной проблем в них.

{parse expression="IPSMember::buildAvatar( $topic['starter_id'], 0, 1 )"}

 

Или, если нужно уменьшить картинку:

{parse expression="IPSMember::buildProfilePhoto( $topic['starter_id'], 'small', 0 )"}

Можно использовать для переменной $size значения 'thumb', 'full', 'mini' и 'small'.

  • Автор

{parse expression="IPSMember::buildAvatar( $topic['starter_id'], 0, 1 )"}

Работает, но на жаль не показывает у тех у кого стоит дефолтная аватара. И не уменьшенный вариант.

 

Или, если нужно уменьшить картинку:

При вставке выдаёт "Array"

Мне проверить не где просто, как оно на 3.1 работает, видимо там метода buildProfilePhoto еще нет. В новых версиях все работает и дефолтный аватар нормально отображается в обоих вариантах.

Попробуйте так:

<php>
$noavatar = "<img src='{$this->settings['img_url']}/profile/default_thumb.png' alt='avatar'/>";
$memberData = IPSMember::load( $topic['starter_id'], 'core,extendedProfile' );
if ( $memberData['avatar_location'] == "" ) {
       $avatar = $noavatar;
} else {
       $avatar = IPSMember::buildAvatar( $memberData, 0, 1 );
}
</php>
{$avatar}

 

Что касается размера картинки, то его можно откорректирвать в CSS, нужно посмотреть на код страницы, что бы подсказать предметно.

  • Автор

видимо там метода buildProfilePhoto еще нет

Именно.

 

Попробуйте так:

Работает.

 

Что касается размера картинки, то его можно откорректирвать в CSS, нужно посмотреть на код страницы, что бы подсказать предметно.

А какую именно часть кода?

Ссылку на свой форум в приват киньте или в профиле разместите, в поле "Site URL".

 

P.S. Еще такой вот вариант можно попробовать, без правки css:

<php>
$memberData = IPSMember::load( $topic['starter_id'], 'core,extendedProfile' );

if ( $memberData['avatar_location'] == '' ) {
       $location = $this->settings['img_url'] . '/profile/default_thumb.png';
} else {
       $location = $this->settings['upload_url'] . '/' . $memberData['avatar_location'];
}
</php>
<img src={$location} {parse resize_image="$location" maxwidth="50" maxheight="50"} alt='avatar' />

P.P.S. А вообще, обновляйтесь лучше. На старые версии полной документации нет нигде, обрывки какие то искать приходится. Ну и ставить влом, только что бы код проверить. :)

  • Автор

P.S. Еще такой вот вариант можно попробовать, без правки css:

Получилось.

 

Такой вопрос? А такой запрос не будет напрягать форум?

 

P.P.S. А вообще, обновляйтесь лучше. На старые версии полной документации нет нигде, обрывки какие то искать приходится.

Так у меня сомнения - ставить 3.4, а скоро выходит 4 версия. Опять много дней работы. :)

  • Автор

Ага, один лишний запрос в теме даёт. Он не слишком так сказать тяжёлый для сервера?

Не слишком. Шаредхостинг ваш по жизни задумчив...

  • Автор

Не слишком.

Понял. Спасибо.

 

Шаредхостинг ваш по жизни задумчив...

Этого не понял :)

Чего тут понимать... Хотите быстрый сервер, берите VDS, ставьте apache + кеширующий nginx, как минимум.

 

Так понятней? :)

  • Автор

А это - так у меня быстрый сервер - 24 гига памяти, VDS в Германии.

Всё работает отлично. Тем не менее даже если быстрый сервер перенагрузить фичами....

Ну, значит это у меня соединение лагает, бывает.

 

P.S. 4-я версия IPB вам не нужна, кстати. Ставить стоит только финальные 3.3.4 или 3.4.6.

В новых версия тоже используется отдельный sql запрос для вывода автора в шапке

  • Автор

P.S. 4-я версия IPB вам не нужна, кстати. Ставить стоит только финальные 3.3.4 или 3.4.6.

Я вот тоже к такому склоняюсь. Почитал я про 4-ку - прям уже и не IPB, а что то совсем другое. Хотя это оффтоп.

Создайте аккаунт или войдите в него для комментирования

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

При использовании данного сайта, вы согласаетесь с Условия использования и Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим..

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.