Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Хаки » Автозаполнение облака тегов 9.3

Автозаполнение облака тегов 9.3


     07.08.2011    облако тегов, автозаполнение    Все вопросы » Хаки    7385

вопрос
Всем доброе утро, не подскажите, как сделать чтобы в dle 9.3 автоматически заполнялось облако тегов из Названия и категории, а то его нужно заполнять вручную, так должно быть или это глюк какой-то? Если что по-любому подскажите пожалуйста как сделать чтобы автоматически заполнялось.

Ответил: ПафНутиЙ


Теги - это ключевые слова новости, и автоматическое их добавление со временем приведёт к куче разных тегов, и будет малоинформативное облако ссылок...

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


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

/*-------------хак автоматическое добавление тэгов ----------------*/
$nNumTags = 10;
$szContent = strip_tags($title);
$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);
/*-------------!хак автоматическое добавление тэгов ----------------*/

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


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

/*-------------хак автоматическое добавление тэгов ----------------*/
$nNumTags = 10;
$szContent = strip_tags($title);
$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);
/*-------------!хак автоматическое добавление тэгов ----------------*/

Источник не знаю

UPD 12.06.2012:
Если нужно брать весь заголовок (бывает оказывается и такое) тогда код вот такой:
    $nNumTags = 10;
             $szContent = strip_tags($title);
             $arr_tags = explode(' ', $szContent);
             shuffle($arr_tags);
             $nNumOfTags = 0;
             $str_tag = '';
             foreach ( $arr_tags as $tvalue ) {
                 $tvalue = trim($tvalue);
                 preg_match('/[a-zA-Zа-яА-Я]{2,}/', $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);
Отредактировал 12-06-2012, 18:17 - ПафНутиЙ
Причина: довбавлен вариант с отбором всего заголовка

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

McWIzard
Юзер

McWIzard - 7 августа 2011 08:23 -

Ок, спасибо, теперь подумаю, стоит ли ставить) Но всё равно спасибо)

podvyg
Юзер

podvyg - 7 февраля 2012 12:15 -

Есть вопросик. А что вообще даёт заполнение тегов? Заранее благодарю за ответ.

ПафНутиЙ
Админ

ПафНутиЙ - 7 февраля 2012 21:57 -

правильное - удобную фильтрацию по материалам сайта
какобычно - просто лишний блок с ссылками на сайте.

Каков вопрос - таков и ответ. Просто помните об этом.

Arkus
Юзер

Arkus - 12 февраля 2012 00:22 -

Что-то на dle 9.5 не работает

isoup
Юзер

isoup - 13 мая 2012 21:03 -

Подскажите пожалуйста что нужно дополнить в код что бы в теги автоматически прописывались названия категорий

ПафНутиЙ
Админ

ПафНутиЙ - 12 июня 2012 18:17 -

Добавлен вариант с отбором всего заголовка

Каков вопрос - таков и ответ. Просто помните об этом.

Natashulay
Юзер

Natashulay - 4 февраля 2013 22:45 -

Подскажите, а как прописать чтобы тэги брались из доп поля

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

 28.07.2011 Visitors91  Хаки
наверх