Как полностью отключить Метки / Теги к топикам в движке?
Как полностью отключить Теги к топикам в движке?
Что необходимо убрать?
1. Метки/Теги к топикам при добавлении топика и соответственно вывод в самом топике и учесть при этом тот факт, что это обязательное поле без которого топик нельзя создать, т.е. нужно, чтобы если я уберу вывод и возможность добавлять, то и проверки небыло, т.е. обязательное поле не ругалось…
2. Вывод Меток/Тегов в блоке «Теги» — обычно справа на странице в стандартном шаблоне.
Итак, для начала нужно убрать проверку на обязательное заполнение меток.
Воспользовался вот этим: livestreet.ru/blog/questions/2715.html Но походу тут не про ту версию написано, а может и про ту просто строка указана 631, а тут эта проверка на 520…
Открываем: classes\actions\ActionTopic.class.php, примерно 520 строка на LS 0.4.2
Комментим все нафиг.
Все получилось! Теперь топики можно добавлять без меток / тегов, осталось избавиться от ввода меток, для этого я захожу в шаблон: /templates/skin/МОЙ_ШАБЛОН/actions/ActionTopic/add.tpl
Комментим все нафиг.
Неужели опять получилось? Теперь вообще метки вводить нету возможности… Т.е. само поле не появляется!
Так теперь нужно убрать вывод меток в топиках… Иду в шаблон: /templates/skin/МОЙ_ШАБЛОН/topic.tpl
Нахожу:
Комментим все нафиг.
Опять все получилось! Теперь нужно сделать следующее… Убрать вывод блока тегов в шаблоне на сайте, захожу в шаблон: /templates/skin/МОЙ_ШАБЛОН/block.tags.tpl и как всегда комментим все нафиг в шаблоне.
Все тегов как не бывало! Все прекрасно работает.
Может кому поможет? Я не прогер — я верстальщик, так что не судите строго. Может чего упустил? Может есть скрытая угроза?
Update
Да при добавлении топика вылезет SQL ошибка: livestreet.ru/blog/questions/7637.html Единственное, что долго втыкал, что это за Value, потом дошло…
Нужно зайти в файл: /classes/modules/topic/mapper/Topic.mapper.class.php
1. Найти:
26 строка и стереть
2. Найти:
на 26-ой строке и стереть 5-ый по счету вопрос с запятой естественно, т.к. topic_tags тоже 5-ый по счету…
3. Найти:
на 38 строке и тоже удалить и SQL ошибок при добавлении не будет…
Update
Столкнулся с проблемой, что не смог редактировать топики, там где были уже указаны теги ранее и выдавало ошибку… Убил все теги вообще в бд — думал поможет — Неа не помогло
Нашел далее на строке 375
И уничтожил — заработало!
Что необходимо убрать?
1. Метки/Теги к топикам при добавлении топика и соответственно вывод в самом топике и учесть при этом тот факт, что это обязательное поле без которого топик нельзя создать, т.е. нужно, чтобы если я уберу вывод и возможность добавлять, то и проверки небыло, т.е. обязательное поле не ругалось…
2. Вывод Меток/Тегов в блоке «Теги» — обычно справа на странице в стандартном шаблоне.
Итак, для начала нужно убрать проверку на обязательное заполнение меток.
Воспользовался вот этим: livestreet.ru/blog/questions/2715.html Но походу тут не про ту версию написано, а может и про ту просто строка указана 631, а тут эта проверка на 520…
Открываем: classes\actions\ActionTopic.class.php, примерно 520 строка на LS 0.4.2
/**
* Проверяем есть ли теги(метки)
*/
if (!func_check(getRequest('topic_tags',null,'post'),'text',2,500)) {
$this->Message_AddError($this->Lang_Get('topic_create_tags_error'),$this->Lang_Get('error'));
$bOk=false;
}
/**
* проверяем ввод тегов
*/
$sTags=getRequest('topic_tags',null,'post');
$aTags=explode(',',$sTags);
$aTagsNew=array();
$aTagsNewLow=array();
foreach ($aTags as $sTag) {
$sTag=trim($sTag);
if (func_check($sTag,'text',2,50) and !in_array(mb_strtolower($sTag,'UTF-8'),$aTagsNewLow)) {
$aTagsNew[]=$sTag;
$aTagsNewLow[]=mb_strtolower($sTag,'UTF-8');
}
}
if (!count($aTagsNew)) {
$this->Message_AddError($this->Lang_Get('topic_create_tags_error_bad'),$this->Lang_Get('error'));
$bOk=false;
} else {
$_REQUEST['topic_tags']=join(',',$aTagsNew);
}
Комментим все нафиг.
/*
* Проверяем есть ли теги(метки)
if (!func_check(getRequest('topic_tags',null,'post'),'text',2,500)) {
$this->Message_AddError($this->Lang_Get('topic_create_tags_error'),$this->Lang_Get('error'));
$bOk=false;
}
* проверяем ввод тегов
$sTags=getRequest('topic_tags',null,'post');
$aTags=explode(',',$sTags);
$aTagsNew=array();
$aTagsNewLow=array();
foreach ($aTags as $sTag) {
$sTag=trim($sTag);
if (func_check($sTag,'text',2,50) and !in_array(mb_strtolower($sTag,'UTF-8'),$aTagsNewLow)) {
$aTagsNew[]=$sTag;
$aTagsNewLow[]=mb_strtolower($sTag,'UTF-8');
}
}
if (!count($aTagsNew)) {
$this->Message_AddError($this->Lang_Get('topic_create_tags_error_bad'),$this->Lang_Get('error'));
$bOk=false;
} else {
$_REQUEST['topic_tags']=join(',',$aTagsNew);
}
*/
Все получилось! Теперь топики можно добавлять без меток / тегов, осталось избавиться от ввода меток, для этого я захожу в шаблон: /templates/skin/МОЙ_ШАБЛОН/actions/ActionTopic/add.tpl
<p><label for="topic_tags">{$aLang.topic_create_tags}:</label><br />
<input type="text" id="topic_tags" name="topic_tags" value="{$_aRequest.topic_tags}" class="input-pwide" /><br />
<span class="note">{$aLang.topic_create_tags_notice}</span></p>
Комментим все нафиг.
{*<p><label for="topic_tags">{$aLang.topic_create_tags}:</label><br />
<input type="text" id="topic_tags" name="topic_tags" value="{$_aRequest.topic_tags}" class="input-pwide" /><br />
<span class="note">{$aLang.topic_create_tags_notice}</span></p>*}
Неужели опять получилось? Теперь вообще метки вводить нету возможности… Т.е. само поле не появляется!
Так теперь нужно убрать вывод меток в топиках… Иду в шаблон: /templates/skin/МОЙ_ШАБЛОН/topic.tpl
Нахожу:
{if $tSingle}
<ul class="tags">
{foreach from=$oTopic->getTagsArray() item=sTag name=tags_list}
<li><a href="{router page='tag'}{$sTag|escape:'html'}/">{$sTag|escape:'html'}</a>{if !$smarty.foreach.tags_list.last}, {/if}</li>
{/foreach}
</ul>
{/if}
Комментим все нафиг.
{* {if $tSingle}
<ul class="tags">
{foreach from=$oTopic->getTagsArray() item=sTag name=tags_list}
<li><a href="{router page='tag'}{$sTag|escape:'html'}/">{$sTag|escape:'html'}</a>{if !$smarty.foreach.tags_list.last}, {/if}</li>
{/foreach}
</ul>
{/if}
*}
Опять все получилось! Теперь нужно сделать следующее… Убрать вывод блока тегов в шаблоне на сайте, захожу в шаблон: /templates/skin/МОЙ_ШАБЛОН/block.tags.tpl и как всегда комментим все нафиг в шаблоне.
Все тегов как не бывало! Все прекрасно работает.
Может кому поможет? Я не прогер — я верстальщик, так что не судите строго. Может чего упустил? Может есть скрытая угроза?
Update
Да при добавлении топика вылезет SQL ошибка: livestreet.ru/blog/questions/7637.html Единственное, что долго втыкал, что это за Value, потом дошло…
Нужно зайти в файл: /classes/modules/topic/mapper/Topic.mapper.class.php
1. Найти:
topic_tags,
26 строка и стереть
2. Найти:
VALUES(?d, ?d, ?, ?, ?, ?, ?, ?d, ?d, ?d, ?, ?, ?)
на 26-ой строке и стереть 5-ый по счету вопрос с запятой естественно, т.к. topic_tags тоже 5-ый по счету…
3. Найти:
$oTopic->getTags(),
на 38 строке и тоже удалить и SQL ошибок при добавлении не будет…
Update
Столкнулся с проблемой, что не смог редактировать топики, там где были уже указаны теги ранее и выдавало ошибку… Убил все теги вообще в бд — думал поможет — Неа не помогло
Нашел далее на строке 375
$oTopic->getTags(),
И уничтожил — заработало!
14 комментариев
Если про смысл убирания тегов, то в выдачу попадает много лишнего г., пользователи же не обладают навыками оптимизации…
Да и потом я не вижу ничего полезного сейчас в тегах, которые вбивают пользователи (мусорка получается...)
Меня эти метки очень напрягают тем, что их нужно писать обязательно, иначе не запостится топик :(