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

Закрепление тем в боковом блоке

Здравствуйте, уважаемые форумчане! Подскажите как сделать закрепление тем в боковом блоке "Последние темы", пример: http://prnt.sc/eid7j2

Заранее спасибо!

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

  • Автор

либо, может кто сможет реализовать подобное за отдельную плату?

Что за блок "Последние темы"? Этих хуков пруд пруди.

  • Автор

хуков то пруд-пруди, но не нашел такого, который обладает таким функционалом

Вам-то для какого надо? Или предлагаете для всех имеющихся написать решение?

  • Автор

по сути без разницы.

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

можно и для стандартного хука

applications/forums/sources/classes/forums/class_forums.php

Найти

			$_topics	= array_slice( $topicIDs, 0, $topicCount * 2 );

Ниже добавить

			$topics_rows = array();
		$pinned_topics = array();
		$pinned_tids = array(1,2,3,4,5); // Перечисляем через запятую айдишники закрепленных тем
		$_topics	= array_unique(array_merge($_topics, $pinned_tids));

Найти

					$topics_rows[ $time ] = IPSMember::buildDisplayData( $r );

Заменить на

					if (in_array($r['tid'], $pinned_tids))
				{
					$pinned_topics[$time] = IPSMember::buildDisplayData( $r );
				}
				else
				{
					$topics_rows[$time] = IPSMember::buildDisplayData( $r );
				}

Найти

					$topics_rows = array_slice( $topics_rows, 0, $topicCount );
			}

Ниже добавить

				$topics_rows = array_merge($pinned_topics, $topics_rows);

в АЦ в шаблоне hookRecentTopics можете проверять закреплена тема или нет

<if test="in_array($r['tid'], array(1,2,3,4,5))">Закреплено</if>

  • Автор

отлично! Спасибо большое! Осталось мелочь, как добавить перед закрепленными темами - теги как на скрине?

Осталось мелочь, как добавить перед закрепленными темами - теги как на скрине?

Я же написал

в АЦ в шаблоне hookRecentTopics можете проверять закреплена тема или нет

Проверяйте айдишник темы и добавляйте что нужно.

  • Автор
Проверяйте айдишник темы и добавляйте что нужно.

добавил в шаблоне хука в самый верх, я правильно сделал

 

 

 

<if test="in_array($r['tid'], array(1,2,3))">Закреплено</if>
<if test="recenttopics:|:is_array( $topics ) && count( $topics )">
<div class='ipsSideBlock clearfix'>
<h3>{$this->lang->words['recently_added_topics']}</h3>
<div class='_sbcollapsable'>
	<ul class='ipsList_withminiphoto'>
	<foreach loop="topics_hook:$topics as $r">
	<li class='clearfix'>
		{parse template="userSmallPhoto" group="global" params="$r"}
		<div class='list_content'>
			<a href="{parse url="showtopic={$r['tid']}" base="public" template="showtopic" seotitle="{$r['title_seo']}"}" rel='bookmark' class='ipsType_small' title='{parse expression="strip_tags($r['topic_title'])"} {$this->lang->words['topic_started_on']} {parse date="$r['start_date']" format="LONG"}'>{$r['topic_title']}</a>
			<p class='desc ipsType_smaller'>
				<if test="$r['members_display_name']">{parse template="userHoverCard" group="global" params="$r"}<else />{$this->settings['guest_name_pre']}{$r['starter_name']}{$this->settings['guest_name_suf']}</if>
				- {parse date="$r['start_date']" format="short"}
			</p>
		</div>
	</li>
	</foreach>
	</ul>
</div>
</div>
</if>

 

 

 

это правильно? или я что-то не так вставил?

  • Автор

и еще, как я понял, теги будут одного цвета, можно к каждой теме приписать свой отдельный тег с цветом?

это правильно?

Нет. Перед добавлением нужно определить место.

Добавить можно перед

<a href="{parse url="showtopic={$r['tid']}"

и еще, как я понял, теги будут одного цвета, можно к каждой теме приписать свой отдельный тег с цветом?

Для нескольких

<if test="in_array($r['tid'], array(1,2))">Тег для тем 1 и 2</if>

Для одной

<if test="$r['tid'] == 3">Тег для темы 3</if>

И т.д.

  • Автор

Отлично! спасибо большое! низкий вам поклон! :rolleyes:

  • Автор

еще небольшой вопрос появился, пытаюсь выделить тег цветом, приписав к нему див, в общем виде выглядит так код:

<div class="test"><if test="$r['tid'] == 3">Тег для темы 3</if></div>

 

но на форуме происходит перекидывание на вторую строчку:

 

Тег для темы 3
название темы - от - дата

 

а хочется сделать в одну строчку:

 

Тег для темы 3 - название темы - от - дата

Не используйте блочные элементы

<if test="$r['tid'] == 3"><span class='ipsBadge ipsBadge_green'>Тег для темы 3</span></if>

  • Автор

вставил код:

<if test="$r['tid'] == 1561"><span class='ipsBadge ipsBadge_green'>Реклама</span></if>

 

в итоге все равно в две строчки: http://prntscr.com/eiyv63

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

Аккаунт

Навигация

Поиск

Поиск

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

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