[Web Master ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Data Life Engine » Хаки » Автоматическое добавление тегов v1.0
Автоматическое добавление тегов v1.0
Alex28jДата: Суббота, 27.02.2010, 21:53 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 286
Награды: 11
Репутация: 108
Статус:


Очень часто Журналисты сайта забывают или не хотят проставлять теги для новости. Сначала я не обращал внимания, но поняв, в чем смысл и назначение тегов (для поисковиков в первую очередь), я сам начал руками редактировать посты и добавлять теги.
Теги - по сути своей - это краткое описание новости словами или словосочетаниями. В тегах не должно быть конкретики, но в то же время, они должны наиболее близко описывать предмет новости.
Идеальными словами-тегами для новости есть синонимы названия или само название. Следует исключать в тегах слова, которые можно отнести к любой новости (местоимения, предлоги и т.д.).
Так же не желательно в теги включать номер версии софта, размер файла инсталляции и другие конкретизирующие моменты.
Хотя, опять же, тут все зависит от вебмастера, от цели создания тегов и метода раскрутки новости.

Долго не думая, я копировал слова (исключая цифры) и ставил между ними запятую. Через некоторое время это стало надоедать...
Так появился этот простой хак. Большинству может показаться совершенно бесполезным, но мне помогает. Может кому-то тоже пригодится.

Возможности хака:
Из заголовка новости берутся слова (исключены цифры и спецсимволы), длина которых больше 3 символов и формируется строка тэгов.
Тестировался на версии DLE 8.2

Инсталяция.

Скрипт (ниже по тексту буду называть "script"), который втавляем в нижеуказанные файлы:
Код
/*-------------хак автоматическое добавление тэгов ----------------*/
$arr_tags = explode(' ', $title);
$str_tag = '';
foreach ( $arr_tags as $tvalue ) {
      $tvalue =    trim($tvalue);
      preg_match('/[a-zA-Zа-яА-Я]{4,}/', $tvalue, $t_v);
      if ($t_v[0]) {
          $str_tag .= $t_v[0].',';
      }
};
$_POST['tags'] = substr($str_tag, 0, strlen($str_tag)-2);
/*-------------!хак автоматическое добавление тэгов ----------------*/


1) Открываем файл /engine/modules/addnews.php

Находим первое вхождение
Код
if( $found )


ВЫШЕ вставляем script

2) Открываем файл /engine/inc/addnews.php

Находим
Код
if( trim( $_POST['vote_title']

ВЫШЕ вставляем script

3) Все :-)

для Версии 9.2
Код

/*-------------хак автоматическое добавление тэгов ----------------*/
$nNumTags = 10;
$szContent = strip_tags($short_story);
$arr_tags = explode(' ', $szContent);
shuffle($arr_tags);
$nNumOfTags = 0;
$str_tag = '';
foreach ( $arr_tags as $tvalue ) {
$tvalue = trim($tvalue);
preg_match('/[a-zA-Zа-яА-Я]{4,}/', $tvalue, $t_v);
if ($t_v[0]) {
$str_tag .= $t_v[0].', ';
$nNumOfTags ++;
}
if ($nNumOfTags > $nNumTags)
break;
};
$_POST['tags'] = substr($str_tag, 0, strlen($str_tag)-1);
/*-------------!хак автоматическое добавление тэгов ----------------*/


Если хотите что б скрипт брал теги Из заголовка, то
поменяйте:
Код
($short_story)


на:
Код
($title)
 
Форум » Data Life Engine » Хаки » Автоматическое добавление тегов v1.0
  • Страница 1 из 1
  • 1
Поиск: