Аватар пользователя рядом с названием темы - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы оформления форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Оформление форумов IPB 2.x.
Настройка форумов, включая установку и техническую настройку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

аватар

  • 2 Страниц +
  • 1
  • 2
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в этой теме

Аватар пользователя рядом с названием темы Рихтовка вывода

#1 Пользователь не на сайте   евгеш ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 21
  • Регистрация: 28-Июль 11
  • Репутация: 0
  • IPB version:3.1.x
 

Отправлено 25 Сентябрь 2011 - 21:55

Обширный вопрос.
Сделал по гайду:


Шаблон, отвечающий за отображение списка тем называется forumIndexTemplate и находится в разделе Forum View. Открываем его и находим следующий участок кода:
<th scope='col' class='col_f_icon'>&nbsp;</th>


Ниже этого участка вставляем:
<th scope='col' class='col_f_avatar'>&nbsp;</th>



Это заголовок нашего будущего столбца с аватарами. Теперь нужно организовать сам вывод аватаров - находим:
<td class='short altrow'>{parse replacement="{$data['folder_img']}"}</td>


Ниже вставляем:
<!-- (CSN) Avatar TS -->
<php>
$csn_NoAvatar = "<img src='{$this->settings['img_url']}/profile/default_thumb.png' alt='avatar'/>";
$csn_MemberTS = IPSMember::load( $data['starter_id'], 'core,extendedProfile' );
if ( $csn_MemberTS['avatar_location'] == "" ) {
        $csn_MemberAvatar = $csn_NoAvatar;
} else {
        $csn_MemberAvatar = IPSMember::buildAvatar( $csn_MemberTS, 0, 1 );
}
</php>
<td class='short altrow'><div class='csn_TopicAvatar'>{$csn_MemberAvatar}</div></td>
<!-- / (CSN) Avatar TS -->


 [codetext]$csn_NoAvatar[/codetext] - вывод аватара-шаблона на тот случай, если у пользователя отсутствует аватар. Поэтому путь можно поменять на свой.

 Теперь пришло время добавить классы в ipb_styles.css. Открываем его и в самый низ добавляем:
th.col_f_avatar{ width: 3%; }
div.csn_TopicAvatar img{
        width: 36px; /* размер аватара в списке тем */
        height: auto;
        background: #fff; /* фон за аватаром */
        -moz-border-radius: 4px;
        -webkit-border-radius: 4px;
        border-radius: 4px;
        padding: 2px;
}


И такой вопрос:
1. Аватары отображаются левее иконок тем (прочтено, есть ответы, закрыта и проч) как сделать их в самом левом столбце? т.е. чтобы иконки тем были правее аватаров?
2. Тот же вопрос но с возможностью помещать аватары справа от автора темы.
3. Сложно ли сделать их кликабельными? (ведущими на профиль топикстартера?)

Благодарю.

upd: to_bot: знать бы куда его вставлять в настройках. Когда регистрировался такого не запрашивалось.
0

#2 Пользователь не на сайте   Fisana ответил: »

 
 
  • На PM не отвечаю
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 13 190
  • Регистрация: 21-Ноябрь 05
  • Репутация: 695
  • Откуда:Из интернетов
  • IPB version:3.1.x
 

Отправлено 26 Сентябрь 2011 - 08:27

Кто автор инструкции?
Пробовали обратиться к нему? Потому что спрашивать тех, кто это не использует, бесполезно.
Я не использую и не планирую этого делать, так как считаю это лишним, поэтому Ваших проблем не понимаю.
0

#3 Пользователь не на сайте   Ph-A ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 5 558
  • Регистрация: 18-Сентябрь 06
  • Репутация: 382
  • Откуда:Moscow
  • IPB version:3.1.x
 

Отправлено 26 Сентябрь 2011 - 08:44

Просмотреть сообщениеFisana сказал(а):

Кто автор инструкции?

Tails

Просмотреть сообщениеевгеш сказал(а):

upd: to_bot: знать бы куда его вставлять в настройках

http://ipbskins.ru/f...rcp&tab=members

Просмотреть сообщениеевгеш сказал(а):

Обширный вопрос.
Сделал по гайду:

У вас форум слишком быстро грузится?
1

#4 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 245
  • Регистрация: 20-Март 09
  • Репутация: 2 061
  • IPB version:3.1.x
 

Отправлено 26 Сентябрь 2011 - 10:55

Этот метод IPSMember::load даст столько запросов, сколько тем будет на странице. Лучше тогда оформить под хуком и обойтись одним запросом.

1. Хук
class sx_hook extends skin_форум(~id~)
{
	function форумИндексТемплате( $var1, $var2, и тд )
	{
		//хардкодим, получаем аватары пользователей с $var1

		//снова хардкодим, впихиваем обратно в $var1

		return parent::форумИндексТемплате( $var1, $var2, и тд );
	}
}

2. Делаем правку шаблона
3. Профит!!!
2

#5 Пользователь не на сайте   евгеш ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 21
  • Регистрация: 28-Июль 11
  • Репутация: 0
  • IPB version:3.1.x
 

Отправлено 26 Сентябрь 2011 - 14:07

Просмотреть сообщениеsiv1987 сказал(а):

Этот метод IPSMember::load даст столько запросов, сколько тем будет на странице. Лучше тогда оформить под хуком и обойтись одним запросом.


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

upd: Значит 'на глазок' не получиться определить как поменять иконку темы и аватар местами?
0

#6 Пользователь не на сайте   Ph-A ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 5 558
  • Регистрация: 18-Сентябрь 06
  • Репутация: 382
  • Откуда:Moscow
  • IPB version:3.1.x
 

Отправлено 26 Сентябрь 2011 - 16:27

Просмотреть сообщениеsiv1987 сказал(а):

Этот метод IPSMember::load даст столько запросов, сколько тем будет на странице

Угу. Но решение тиражируют налево и направо.

Просмотреть сообщениеевгеш сказал(а):

Значит 'на глазок' не получиться определить как поменять иконку темы и аватар местами?

Этот кусок
<th scope='col' class='col_f_avatar'>&nbsp;</th>

Не пробовали вставить не под, а на :)
1

#7 Пользователь не на сайте   евгеш ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 21
  • Регистрация: 28-Июль 11
  • Репутация: 0
  • IPB version:3.1.x
 

Отправлено 26 Сентябрь 2011 - 16:59

Цитата

Не пробовали вставить не под, а над

Пробывал - совершенно ничего не изменилось. зато если вставлять еще ниже (после столбцов названия темы, даты) сам столбец расширяется.

К слову, визуально они будто считаются за один столбец (по крайней мере 'зебра' их красит одним цветом)
Хотя такой фон мне выгоден и не хотелось бы менять это отображение.
Вложение  Снимок.PNG (4,14К)
Количество загрузок: 21

Та самая часть - столбцы списка тем.
<tr class='header'>
				<th scope='col' class='col_f_icon'>&nbsp;</th>
				<th scope='col' class='col_f_avatar'>&nbsp;</th>
				<th scope='col' class='col_f_topic'>{$this->lang->words['forum_topic']}</th>
				<th scope='col' class='col_f_starter short'>{$this->lang->words['forum_started_by']}</th>
				<th scope='col' class='col_f_views stats'>{$this->lang->words['forum_stats']}</th>
				<th scope='col' class='col_f_post'>{$this->lang->words['forum_last_post_info']}</th>
				<if test="topicsismod:|:$this->memberData['is_mod'] == 1">
					<th scope='col' class='col_f_mod short'><input type='checkbox' id='tmod_all' class='input_check' title='{$this->lang->words['topic_select_all']}' value='1' /></th>
				</if>
			</tr>	

Сообщение изменено: евгеш (26 Сентябрь 2011 - 17:03)

0

#8 Пользователь не на сайте   Ph-A ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 5 558
  • Регистрация: 18-Сентябрь 06
  • Репутация: 382
  • Откуда:Moscow
  • IPB version:3.1.x
 

Отправлено 26 Сентябрь 2011 - 17:58

Просмотреть сообщениеевгеш сказал(а):

К слову, визуально они будто считаются за один столбец

Как одна строка. А у строки бывают и столбцы. Но не важно

1. Я тормоз. И не читаю текст до конца

2.
<!-- (CSN) Avatar TS -->
Код
<!-- / (CSN) Avatar TS -->

Естественно тоже выше.
1

#9 Пользователь не на сайте   евгеш ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 21
  • Регистрация: 28-Июль 11
  • Репутация: 0
  • IPB version:3.1.x
 

Отправлено 26 Сентябрь 2011 - 23:02

Сильно тугой в этих делах, уточню:
Кроме кода:
<th scope='col' class='col_f_avatar'>&nbsp;</th>

Который стоит попробывать вставить выше:
<th scope='col' class='col_f_icon'>&nbsp;</th>
а не ниже.

Нужно еще и:
<!-- (CSN) Avatar TS -->
код
<!-- / (CSN) Avatar TS -->

вставить выше:
<td class='short altrow'>{parse replacement="{$data['folder_img']}"}</td>
А не ниже?
0

#10 Пользователь не на сайте   евгеш ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 21
  • Регистрация: 28-Июль 11
  • Репутация: 0
  • IPB version:3.1.x
 

Отправлено 27 Сентябрь 2011 - 12:59

upd: Огромное спасибо, слегка подрихтовал и очередность размещения помогла!
0

#11 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 611
  • Регистрация: 14-Июнь 09
  • Репутация: 14
  • IPB version:3.1.x
 

Отправлено 28 Сентябрь 2011 - 05:40

Просмотреть сообщениеsiv1987 сказал(а):

Этот метод IPSMember::load даст столько запросов, сколько тем будет на странице. Лучше тогда оформить под хуком и обойтись одним запросом.

А можно поподробней написать как это сделать?
0

#12 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 245
  • Регистрация: 20-Март 09
  • Репутация: 2 061
  • IPB version:3.1.x
 

Отправлено 29 Сентябрь 2011 - 11:39

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

Хук.
Вложение  av_hook.xml (3,17К)
Количество загрузок: 26

Остальное по старой инструкции, только это
<!-- (CSN) Avatar TS -->
<php>
$csn_NoAvatar = "<img src='{$this->settings['img_url']}/profile/default_thumb.png' alt='avatar'/>";
$csn_MemberTS = IPSMember::load( $data['starter_id'], 'core,extendedProfile' );
if ( $csn_MemberTS['avatar_location'] == "" ) {
        $csn_MemberAvatar = $csn_NoAvatar;
} else {
        $csn_MemberAvatar = IPSMember::buildAvatar( $csn_MemberTS, 0, 1 );
}
</php>
<td class='short altrow'><div class='csn_TopicAvatar'>{$csn_MemberAvatar}</div></td>
<!-- / (CSN) Avatar TS -->


заменить этим
<td class='short altrow'><div class='csn_TopicAvatar'>{$data['avatar_location']}</div></td>

3

#13 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 611
  • Регистрация: 14-Июнь 09
  • Репутация: 14
  • IPB version:3.1.x
 

Отправлено 29 Сентябрь 2011 - 15:44

Просмотреть сообщениеsiv1987 сказал(а):

Хук.

Спасибо Большое Человеческое, всё получилось :)


Просмотреть сообщениеsiv1987 сказал(а):

идеи как оптимизировать код, пусть оставит тут

Да и так всё работает, правда у меня немного другое дополнение (мини-аватары затенёные, если нет новых сообщений) :

Шаблон forumIndexTemplate:
<td class='short altrow'><div class='t_avatar <if test="$data['go_new_post'] === false">no-new</if>'><span>{$data['avatar_location']}</span></div></td>


Стиль ipb_styles.css:
.t_avatar {width: 24px;height: 24px;overflow: hidden;position: relative;background: url(/grafik/t_noavatar.png) no-repeat 1px 0px;box-shadow: rgba(0, 0, 0, 0.18) 0px 1px 1px;border-width: 1px;border-style: solid;border-radius: 4px;-moz-border-radius: 4px}
.t_avatar.no-new {opacity: 0.3;filter: alpha(opacity=20);}
.t_avatar img.frame {position: absolute;top: 0;left: 0;z-index: 100;}
.t_avatar span {display: block;width: 24px;height: 24px;position: absolute;top: 0px;left: 1px;overflow: hidden;z-index: 99;}
.t_avatar span img {width: 24px;height: 24px;}

1

#14 Пользователь не на сайте   asterix_kpi ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 56
  • Регистрация: 10-Август 12
  • Репутация: 1
  • IPB version:3.4.x
 

Отправлено 11 Август 2012 - 13:39

Спасибо !!!
Все работает...
Подскажите, а как сделать что бы аватары выводились и в результатах поиска новых сообщений за день....
Выводится только имя файла...и все...
0

#15 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 245
  • Регистрация: 20-Март 09
  • Репутация: 2 061
  • IPB version:3.1.x
 

Отправлено 06 Февраль 2015 - 02:12

Аватары пользователей на главной страницы форума (IPB 3.1x)

1. Установить хук
Вложение  Аватары на главной.xml (3,66К)
Количество загрузок: 1

2. Внешний вид -> %нужный шаблон% -> Список форумов -> boardIndexTemplate
Найти

<ul class='last_post'>

Добавить перед (или в другом нужно вам месте)

<span class="boardAvatar">
     {$forum_data['avatar_location']}
</span>

В css задать нужные стили для контейнера .boardAvatar
1

Сообщить об этой теме:


  • 2 Страниц +
  • 1
  • 2
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в этой теме

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна