Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

Здравствуйте, уважаемые форумчане! Подскажите как сделать закрепление тем в боковом блоке "Последние темы", пример: 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

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

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.