форум vBSupport.ru > vBulletin > vBulletin 4.2.x > Хаки, моды и скрипты 4.2.x
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
taravasya
Знаток
 
taravasya's Avatar
Default Теги вместо префиксов в заголовке тем.
2

Здравствуйте! Хочу поделиться с Вами некоторым опытом. Продолжая облагораживать свой форум, пробудил в себе идею, расставить порядок тем, в одном из разделов, таким образом, что-бы не создавать множество подразделов, а что-бы все темы шли одна за другой. Но, что-бы при этом, при желании их всё-таки можно было бы упорядочить(отфильтровать),... например по тэгам(приблизительно так, как это организовано в тот же Flarum-е). Подумал и решил заняться встроенными в vB префиксами тем. Сначала идея показалась удачной, но чем больше тем я стал планировать в задуманном мною разделе, тем больше я стал понимать, что одного префикса для темы недостаточно. Есть темы, которые расходятся по своей смысловой и нарицательной нагрузке в несколько сторон. Например Adobe Photoshop. С одной стороны это графический редактор растровых изображений, с другой, это часть адобовского пакета приложений, который ныне кличется "Creative Cloud" и многими воспринимается именно в этом контексте, как одна из составных частей огромного комбайна.
Подсказка просилась сама собой, ведь в упомянутом мной Flarum, сортировка производится по ТЭГАМ, которые так же присутствуют в vB. Однако.... положение дел с тэгами в vB, совсем не такое радужное как хотелось бы.
Набор кликабельных слов в подвале страницы либо всплывающие подсказки над нелепой иконкой...

========================================================================
Должен отметить, что на моём форуме, префиксы совершенно не использовались до сих пор. Не было даже ни одного созданного набора префиксов. Именно этот факт, позволил мне затеять такую манипуляцию...
Что в итоге я получил?
В forumdisplay, в перечне тем, перед названием самой темы теперь у меня гордо веется красочный прямоугольник, кликабельный, после клика по которому можно попасть на страницу результатов поиска по тегу, по которому был произведён клик. Тегов можно добавлять сколько угодно, а можно ограничить количество их вывода перед названием темы(об этом позже). Кроме того, в моём случае, я ограничил вывод таких тегов одним, предназначенным для такого эксперемента разделом.
Итак:
Начнём с модуля.

Местоположение модуля: threadbit_display
Имя и порядок любые...
PHP Code:
$tagarray['taglist'] = explode(","$thread['taglist']); 
$counttags count($tagarray['taglist']); 
for (
$i 0$i $counttags$i++) {  
    if (
$i 3) break;  //именно здесь, можно ограничить количество выводимых тэгов. Обратите внимание, что тут 0 это уже первый тэг, соответственно, дойдя до трёх, мы будем иметь уже 4 тэга. Если Вы не хотите их ограничивать, то просто удалите всю эту строку.
    
$clickabletag "<a href=\"tags.php?tag=" $tagarray['taglist'][$i] . "\">" $tagarray['taglist'][$i] . "</a>"
    
$templater vB_Template::create('clickable_tags'); 
    
$templater->register('clickabletag'$clickabletag);  
    
$templatevalues['clickabletags'] .= $templater->render();  
    
vB_Template::preRegister('threadbit'$templatevalues); 

Далее нужно создать новый шаблон:
Заголовок: clickable_tags
Шаблон:
HTML Code:
<span class="prfx" style="background: #f3ac00;color: white">{vb:raw clickabletag}</span>
Здесь цвета конечно же можете варьировать по своему усмотрению...

В additional.css нужно добавить свои правила:
Code:
.prfx {
    	transition: 0.5s;	
	border-bottom-left-radius: 3px 3px;
	border-bottom-right-radius: 3px 3px;
	border-top-left-radius: 3px 3px;
	border-top-right-radius: 3px 3px;
	font-size: 0.8em;
	font-weight: bold;
	padding: 3px 6px 3px 6px;
        line-height: 1.7;
        text-align: center;
        margin: 0px 1px;
} 

.prfx:hover {
    transition: 0.5s;
    background: #006bb9 !important;
}

.prfx a {
    color: white;
}

.prfx a:hover {
    color: white;
    text-decoration: none;
}
Стиль кстати, частично "слындил" где-то здесь же ))))))

И самый ответственный момент....
В шаблоне threadbit, прямо перед строчками в которых создаётся вывод префиксов(или сразу после них), нужно добавить одну строчку:
HTML Code:
<vb:if condition="$GLOBALS[forumid] == ХХХ">{vb:raw clickabletags}</vb:if>
где ХХХ - это id раздела в котором будет использоваться предложенная "система порядка". Опять же... если ограничиваться одним разделом Вы не собираетесь, то тогда достаточно вписать только:
{vb:raw clickabletags}



Пока остаётся открытым вопрос, как результаты поиска по тэгу, ограничить одним разделом?
На этом всё.
Удачи!

taravasya добавил 27.07.2016 в 12:48
Разобрался как ограничить поиск одним разделом. Для этого, в созданном модуле, строку:
PHP Code:
$clickabletag "<a href=\"tags.php?tag=" $tagarray['taglist'][$i] . "\">" $tagarray['taglist'][$i] . "</a>"
заменить на:
PHP Code:
$clickabletag "<a href=\"search.php?do=process&contenttype=vBForum_Post&include=ХХХ&tag=" $tagarray['taglist'][$i] . "\">" $tagarray['taglist'][$i] . "</a>"
Где ХХХ - это id нужного раздела.

Last edited by taravasya : 07-27-2016 at 03:02 PM. Reason: Добавлено сообщение
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
biomehanika
Продвинутый
 
biomehanika's Avatar
Default
0

@taravasya, Тема интересная, но есть ли фак по настройки префиксов на форуме.
В админке я добавил префиксы, включил их в опциях, но при создании новых тем эти префиксы не вижу.
 
 
taravasya
Знаток
 
taravasya's Avatar
Default
0

@biomehanika, вопрос совсем не по теме. Я как раз-таки отказался от префиксов.
Оффтоп
 
 
Luvilla
Гость
Default

Вопрос:
Quote:
Originally Posted by taravasya View Post
Тегов можно добавлять сколько угодно, а можно ограничить количество их вывода перед названием темы
если меток к теме был добавлен десяток, а мы поставили ограничение выводить три метки, то какие именно метки будут выведены?
по алфавиту? по ИДу метки? по популярности?
 
 
taravasya
Знаток
 
taravasya's Avatar
Default
0

Luvilla, признаюсь честно - не знаю )))).
Но по логике, полагаю, что по-умолчанию, в том же порядке в каком они отображаются при наведении мышки на значок метки в forumdisplay. То-есть по алфавиту, причем сначала английские а потом русские. Думаю так, потому как именно от туда я и выдёргиваю их список.

Last edited by taravasya : 07-29-2016 at 12:07 PM.
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 06:37 PM.


Powered by vBulletin® Version Nulled Edition
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...