Как полностью отключить Метки / Теги к топикам в движке?

Как полностью отключить Теги к топикам в движке?

Что необходимо убрать?

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 комментариев

avatar
а смысл данных манипуляций?
avatar
Смысл убирать теги? Или я не правильно это сделал?

Если про смысл убирания тегов, то в выдачу попадает много лишнего г., пользователи же не обладают навыками оптимизации…
avatar
Ну а так еще очень много дубль контента на сайте, что не есть хорошо опять же для поисковиков
avatar
вы не пробовали закрыть теги в robots.txt ?????
avatar
Как вариант, но какой смысл передавать внутренний вес страниц в пустоту? В robots.txt — закрыть было бы легче всего, исключив при этом страницы из индекса, но я и веса много потерял бы в никуда.

Да и потом я не вижу ничего полезного сейчас в тегах, которые вбивают пользователи (мусорка получается...)
avatar
Хотя при граммотном использовании их можно включить, но скорее только для администратора сайта, главное продумать как их использовать для удобства пользователей и чтобы это было нормально как для пользователей так и для П.С.
avatar
Уберите теги из шаблонов, раз они вам не нужны.
avatar
Эм, спасибо кэп)) А я то сразу и не понял...)) Я вообще-то в топике как раз расписал как теги убирать и в шаблоне в том числе)) Может кому тоже поможет)
avatar
Ахахаха!
avatar
Начала делать все тоже самое в версии 0.5 и сразу после того как закомментила вылезает ошибка при добавлении поста: «Ошибка: Пытаетесь запостить топик в неизвестный блог?» Получается так, что топики можно добавлять в заранее созданные блоги, а в «мой персональный блог» нельзя добавить, т.к. он не создается :(
Меня эти метки очень напрягают тем, что их нужно писать обязательно, иначе не запостится топик :(
avatar
Крутой пост, как раз по сео волновал этот вопрос. Спасибо Босс, в ближ. время тоже попробую убрать теги. Сразу видно сеошник делал)
avatar
Теги можно выключить в версии 1.0.x Истории про то, что теги вредны — это сеошный бред, просто надо уметь их готовить.
avatar
умник
avatar
Поясни почему бред
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.