Jump to content
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

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

Featured Replies

  • Author

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

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

  • Author

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

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

  • Author

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

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

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

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>

  • Author

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

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

Я же написал

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

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

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

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

 

 

 

<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>

 

 

 

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

  • Author

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

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

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

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

<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>

И т.д.

  • Author

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

  • Author

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

<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>

  • Author

вставил код:

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

 

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

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

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.