Автоматическое подставление тегов

Есть ли такая возможность, что бы при создании топика независимо от того какие теги написал пользователь подставлялись определённые теги к тем что дал пользователь?

Решение предложил kerby

В файл /classes/actions/ActionTopic.class.php в функции checkTopicFields в районе 527 строки (в зависимости от версии) находите строчки
$sTags=getRequest('topic_tags',null,'post');
$aTags=explode(',',$sTags);


меняете на

$sTags=getRequest('topic_tags',null,'post');
if (trim($sTags)!="") $sTags.=",тег1,тег2";
$aTags=explode(',',$sTags);


P.S если хотите чтобы ваши теги стояли первыми то

строчку
if (trim($sTags)!="") $sTags.=",тег1,тег2";

надо сделать такой
if (trim($sTags)!="") $sTags="тег1,тег2,".$sTags;


Что должно вам помочь добавлять ко всем публикуемым топикам теги «тег1» и «тег2»

26 комментариев

avatar
А на основании чего вы собираетесь подставлять теги? В смысле ко всем топика — одинаковые или, все же, как-то… дифференцировать?
avatar
в любые новые посты добавлять автоматом 2 тега
avatar
Зачем!?
avatar
А в чем проблема то? в массив aTags добавьте пару объектов Tag.
avatar
а попроще
avatar
А проще только волшебницу уломать +)
avatar
Ну или
$sTags.='тег намебр уан, тег намбер ту';

это в экшоне перед отправкой переменной в класс.
avatar
Куда уж проще… А если вы имели в виду по-конкретней, то…

В файл /classes/actions/ActionTopic.class.php в функции checkTopicFields в районе 527 строки (в зависимости от версии) находите строчки
$sTags=getRequest('topic_tags',null,'post');
$aTags=explode(',',$sTags);


меняете на

$sTags=getRequest('topic_tags',null,'post');
if (trim($sTags)!="") $sTags.=",тег1,тег2";
$aTags=explode(',',$sTags);


Что должно вам помочь добавлять ко всем публикуемым топикам теги «тег1» и «тег2»… Правда остается непонятным зачем вам это надо :)
avatar
Отлично! Спасибо!
Нужно потому что люди делая посты не ставят нужные теги
нужные для поисковиков :)

PS ещё каприз, но это так, можно ли чтобы ", тег1, тег2" ставились в начале?
avatar
Да ради бога, тогда вот ту новую строчку просто пишите
$sTags="тег1,тег2,".$sTags;

На самом деле порядок не важен…
avatar
Супер!
avatar
Ищем и добавляем
<p><label for="topic_tags">{$aLang.topic_create_tags}:</label><br />
					<input type="text" id="topic_tags" name="topic_tags" value="топик, сиськи, кирпич" class="w100p" /><br />
       				</p>


в файле /templates/skin/new/actions/ActionTopic/add.tpl
  • Loci
  • 0
avatar
Фигня, человек сотрет это в поле и напишет свое…
avatar
ну да, а разве не это нужно?
avatar
ок, перечитал, нужно немного не то)
avatar
ну да, конечно в идеале бы хотелось уже в конце получить пост с нужными тегами
avatar
то что надо!
но
трабл получается вместо «топик, сиськи, кирпич», ����� ������
catfoto.com/blog/3282.html
avatar
а за кодировками Пушкин будет следить?
avatar
А это у вас кодировки не совпадают на сайте и в редакторе, где правите шаблон. В одинаковой кодировке надо писать :)
avatar
да поставьте кодировку UTF8 для Add.tpl
avatar
Ну кстати вот еще, сувать непосредственно в шаблон данные, это как то прям по ламерски +)
avatar
Ну это не столько по-ламерски, сколько приносит головную боль, если вдруг захочется поменять шаблон. Вспоминать что и куда ты там засовывал… Документировать надо изменения :)
avatar
+100
нету силы, плюсанул бы в карму
avatar
Но с другой стороны менять код livestreet это иметь себе геморрой, при апгрейде движка… Что еще жестче ;) Так, что оптимальное решение это плагин, но… ради такой фигни писать плагин это попа :)))))
avatar
Бред вы несете. Это невозможно, если делаешь чтото большее, чем «ЛС из коробки+шаблон_Скин»
avatar
Дада, поэтому я и написал, что изменения надо документировать. Это единственный путь если вдруг потом захочется что-то кардинально менять во внешнем виде. И я имею в виду какие-то функциональные изменения, а не чисто дизайн.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.