8Dle
Авторизация

Автоматическое добавление тегов (8.3 - 8.5)

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

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

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

Установка:
Скрипт (ниже по тексту буду называть "script"), который вставляем в нижеуказанные файлы:
  /*-------------хак автоматическое добавление тэгов (чуть чуть, edit by FlashBlack ----------------*/
            $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)-2);
            /*-------------!хак автоматическое добавление тэгов ----------------*/

1. Открываем /engine/modules/addnews.php
Находим первое вхождение:
if( $found )

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

2. Открываем файл /engine/inc/addnews.php
Находим:
if( trim( $_POST['vote_title']

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

Готово.

Жмите на Кнопу ниже, или подписывайтесь!


Читайте также
  1. sokolspec
    13 июля 2010 15:14
    В теги слова берутся не из заголовка новости, а из короткого описания!
    для истправления необходимо поправить переменную:
    $szContent = strip_tags($short_story);

    на:
    $szContent = strip_tags($title);


    И все будет как надо!
  2. antikidalovo
    5 августа 2010 03:35
    на 8.5 не работает.! crying
  3. sokolspec
    9 августа 2010 12:13
    antikidalovo,
    Не вводите людей в заблуждение, все отлично работает на 8.5
  4. zek24
    10 сентября 2010 02:41
    кто знает как его использовать для украинских слов?
    а то он их просто обрезает...
  5. podvyg
    10 сентября 2010 19:32
    Всё работает, большое спасибо за скрипт, и отдельное спасибо sokolspec за помощь!
  6. qweraser
    19 сентября 2010 21:19
    Отлично работает ,изменить как у sokolspec
  7. podvyg
    2 февраля 2011 19:50
    Всё классно работает на 9.0
  8. Pavel
    15 февраля 2011 10:15
    Ребята, а на 9.2. работает?
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


Dle это движок который изначально проектировался для создания новостных сайтов, но по мере своего развития движка значительно расширил свою функциональность и стал универсальным средством разработки и сопровождения сайтов и блогов различной направленности и тематики. По сравнению с другими бесплатными (и некоторыми платными) CMS системами движок dle обладает довольно обширными возможности.

Авторизация