Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Хаки Автозаполнение облака тегов 9.3

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


     07.08.2011    Хаки    5492

вопрос
Всем доброе утро, не подскажите, как сделать чтобы в 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
8 | 8

McWIzard - 7 августа 2011 08:23 - Юзер

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

podvyg
22 | 17

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

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

ПафНутиЙ
1064

3394 | 2433

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

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

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

Arkus
2 | 2

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

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

isoup
1 | 1

isoup - 13 мая 2012 21:03 - Юзер

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

ПафНутиЙ
1064

3394 | 2433

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

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

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

Natashulay
15 | 16

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

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

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

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

 28.07.2011 Visitors91  Хаки