Мы в твиттере Мы в телеграме!

Провеббер » DataLife Engine » DLE хаки » Автоматическое добавление тегов из заголовка новости

Набор в команду! Ведется набор в команду, для наполнения сайта новым, интересным контентом. Если у тебя есть предложения, свободное время, ты обладаешь интересным контентом, и хочешь поделиться с другими?
Обращайся к нам в ЛС группы Вконтакте.

Автоматическое добавление тегов из заголовка новости

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Автоматическое добавление тегов из заголовка новости.

Небольшой хак, который автоматически берет теги из заголовка новости, и добавляет их в новость.

Версия DLE: 8.3 и ниже

Установка:

Открываем engine/modules/addnews.php
Находим и удаляем:


if( ! $config['allow_add_tags'] ) $_POST['tags'] = "";
        elseif( preg_match( "/[\||\'|\<|\>|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\+]/", $_POST['tags'] ) ) $_POST['tags'] = "";
        else $_POST['tags'] = $db->safesql( htmlspecialchars( strip_tags( stripslashes( trim( $_POST['tags'] ) ) ), ENT_QUOTES ) );



Находим:


if( $found ) {
                
                $db->query( "UPDATE " . PREFIX . "_post set title='$title', short_story='$short_story', full_story='$full_story', xfields='$filecontents', category='$category_list', alt_name='$alt_name', allow_comm='$allow_comm', approve='$approve', allow_main='$allow_main', allow_rate='$allow_rating', fixed='$news_fixed', allow_br='$allow_br', flag='1', tags='" . $_POST['tags'] . "' WHERE id='$id'" );
                
                // Облако тегов
                if( $_POST['tags'] != $row['tags'] or $approve ) {
                    $db->query( "DELETE FROM " . PREFIX . "_tags WHERE news_id = '{$row['id']}'" );
                    
                    if( $_POST['tags'] != "" and $approve ) {
                        
                        $tags = array ();
                        
                        $_POST['tags'] = explode( ",", $_POST['tags'] );
                        
                        foreach ( $_POST['tags'] as $value ) {
                            
                            $tags[] = "('" . $row['id'] . "', '" . trim( $value ) . "')";
                        }
                        
                        $tags = implode( ", ", $tags );
                        $db->query( "INSERT INTO " . PREFIX . "_tags (news_id, tag) VALUES " . $tags );
                    
                    }
                }
            
            } else {



Заменяем на:


//Авто Теги
            if( ! $config['allow_add_tags'] ) $tags = "";
            else $tags = str_word_count ( strip_tags( stripslashes( $title ) ), 1 );
            $tag = implode ( ",", $tags );
//Авто Теги
            if( $found ) {

                $db->query( "UPDATE " . PREFIX . "_post set title='$title', short_story='$short_story', full_story='$full_story', xfields='$filecontents', category='$category_list', alt_name='$alt_name', allow_comm='$allow_comm', approve='$approve', allow_main='$allow_main', allow_rate='$allow_rating', fixed='$news_fixed', allow_br='$allow_br', flag='1', tags='$tag' WHERE id='$id'" );
                
                // Облако тегов
                if( $tag != $row['tags'] or $approve ) {
                    $db->query( "DELETE FROM " . PREFIX . "_tags WHERE news_id = '{$row['id']}'" );
                    
                    if( $tag != "" and $approve ) {
                        $tag = "";
                        foreach ( $tags as $value ) {
                            
                            $tag[] = "('" . $row['id'] . "', '" . trim( $value ) . "')";
                        }
                        
                        $tag = implode( ", ", $tag );
                        $db->query( "INSERT INTO " . PREFIX . "_tags (news_id, tag) VALUES " . $tag );
                    
                    }
                }
            
            } else {



Находим:


$db->query( "INSERT INTO " . PREFIX . "_post (date, autor, short_story, full_story, xfields, title, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, flag, tags) values ('$thistime', '$member_id[name]', '$short_story', '$full_story', '$filecontents', '$title', '', '$category_list', '$alt_name', '$allow_comm', '$approve', '$allow_main', '$news_fixed', '$allow_rating', '$allow_br', '1', '" . $_POST['tags'] . "')" );



Заменяем на:


$db->query( "INSERT INTO " . PREFIX . "_post (date, autor, short_story, full_story, xfields, title, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, flag, tags) values ('$thistime', '$member_id[name]', '$short_story', '$full_story', '$filecontents', '$title', '', '$category_list', '$alt_name', '$allow_comm', '$approve', '$allow_main', '$news_fixed', '$allow_rating', '$allow_br', '1', '$tag')" );



Находим:


if( $_POST['tags'] != "" and $approve ) {
                    
                    $tags = array ();
                    
                    $_POST['tags'] = explode( ",", $_POST['tags'] );
                    
                    foreach ( $_POST['tags'] as $value ) {
                        
                        $tags[] = "('" . $row['id'] . "', '" . trim( $value ) . "')";
                    }
                    
                    $tags = implode( ", ", $tags );
                    $db->query( "INSERT INTO " . PREFIX . "_tags (news_id, tag) VALUES " . $tags );
                
                }



Заменяем на:


if( $tag != $row['tags'] or $approve ) {
                    $db->query( "DELETE FROM " . PREFIX . "_tags WHERE news_id = '{$row['id']}'" );
                    
                    if( $tag != "" and $approve ) {
                        $tag = "";
                        foreach ( $tags as $value ) {
                            
                            $tag[] = "('" . $row['id'] . "', '" . trim( $value ) . "')";
                        }
                        
                        $tag = implode( ", ", $tag );
                        $db->query( "INSERT INTO " . PREFIX . "_tags (news_id, tag) VALUES " . $tag );
                    
                    }
                }



Открываем engine/inc/addnews.php

Находим и удаляем:


if( preg_match( "/[\||\'|\<|\>|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\+]/", $_POST['tags'] ) ) $_POST['tags'] = "";
    else $_POST['tags'] = $db->safesql( htmlspecialchars( strip_tags( stripslashes( trim( $_POST['tags'] ) ) ), ENT_QUOTES ) );



Находим:


$db->query( "INSERT INTO " . PREFIX . "_post (date, autor, short_story, full_story, xfields, title, descr, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, votes, access, symbol, flag, tags, metatitle) values ('$thistime', '{$member_id['name']}', '$short_story', '$full_story', '$filecontents', '$title', '{$metatags['description']}', '{$metatags['keywords']}', '$category_list', '$alt_name', '$allow_comm', '$approve', '$allow_main', '$news_fixed', '$allow_rating', '$allow_br', '$add_vote', '$group_regel', '$catalog_url', '1', '{$_POST['tags']}', '{$metatags['title']}')" );



Заменяем на:


//Авто Теги
    if( ! $config['allow_add_tags'] ) $tags = "";
    else $tags = str_word_count ( strip_tags( stripslashes( $title ) ), 1 );
    $tag = implode ( ",", $tags );
//Авто Теги
    $db->query( "INSERT INTO " . PREFIX . "_post (date, autor, short_story, full_story, xfields, title, descr, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, votes, access, symbol, flag, tags, metatitle) values ('$thistime', '{$member_id['name']}', '$short_story', '$full_story', '$filecontents', '$title', '{$metatags['description']}', '{$metatags['keywords']}', '$category_list', '$alt_name', '$allow_comm', '$approve', '$allow_main', '$news_fixed', '$allow_rating', '$allow_br', '$add_vote', '$group_regel', '$catalog_url', '1', '$tag', '{$metatags['title']}')" );



Находим:


if( $_POST['tags'] != "" and $approve ) {
                    
                    $tags = array ();
                    
                    $_POST['tags'] = explode( ",", $_POST['tags'] );
                    
                    foreach ( $_POST['tags'] as $value ) {
                        
                        $tags[] = "('" . $row['id'] . "', '" . trim( $value ) . "')";
                    }
                    
                    $tags = implode( ", ", $tags );
                    $db->query( "INSERT INTO " . PREFIX . "_tags (news_id, tag) VALUES " . $tags );
                
                }



Заменяем на:


if( $tag != $row['tags'] or $approve ) {
                    $db->query( "DELETE FROM " . PREFIX . "_tags WHERE news_id = '{$row['id']}'" );
                    
                    if( $tag != "" and $approve ) {
                        $tag = "";
                        foreach ( $tags as $value ) {
                            
                            $tag[] = "('" . $row['id'] . "', '" . trim( $value ) . "')";
                        }
                        
                        $tag = implode( ", ", $tag );
                        $db->query( "INSERT INTO " . PREFIX . "_tags (news_id, tag) VALUES " . $tag );
                    
                    }
                }



Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


0
Просмотры: 5 513 :: Комментарии (15) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1MaxiMoruM

  • 30 декабря 2009 17:31
  • Регистрация: 1.11.2009
  • Был(а) онлайн: 20.11.2024
  • Комментариев: 14
  • 0
и что в конечном итоги мы получим?? можно пример или скрин

#2kaktus

  • 30 декабря 2009 20:00
  • Регистрация: 9.10.2009
  • Был(а) онлайн: 25.12.2018
  • Комментариев: 112
  • 0
я ставил на подобие скрипт, а возможно и этот, все отлично работало

#3MysterIoes

  • 31 декабря 2009 02:40
  • Регистрация: 22.11.2009
  • Был(а) онлайн: 15.02.2014
  • Комментариев: 356
  • 0
на 8.3 у меня отлично работает cool

#4DaImeR

  • 31 декабря 2009 09:11
  • Регистрация: 21.11.2009
  • Был(а) онлайн: 15.01.2015
  • Комментариев: 338
  • 0
Ну тогда скрин скиньте того что получилось в итоге

--------------------

#5bin112

  • 31 декабря 2009 17:02
  • Регистрация: 15.08.2009
  • Был(а) онлайн: 7.11.2022
  • Комментариев: 80
  • 0
на 7,5 работать буит?

#6Mr.Sorrel

  • 31 декабря 2009 17:07
  • Регистрация: 11.11.2009
  • Был(а) онлайн: 16.09.2014
  • Комментариев: 99
  • 0
Зачем вам скрин? Объясняю что получится!

Новость: Открытие форума! Добро пожаловать!

Тэги: открытие, форума, добро, пожаловать.


Вот тчо будет :)

--------------------

#7BeSSeR

  • 31 декабря 2009 17:08
  • Регистрация: 23.11.2009
  • Был(а) онлайн: 21.01.2017
  • Комментариев: 165
  • 0
Написано же, 8.3 и ниже.

--------------------

#8MysterIoes

  • 31 декабря 2009 17:10
  • Регистрация: 22.11.2009
  • Был(а) онлайн: 15.02.2014
  • Комментариев: 356
  • 0
bin112,
Версия DLE: 8.3 и ниже

вы читать умеете? установите и проверьте

#9ZAVcom

  • 1 января 2010 15:19
  • Регистрация: 14.10.2009
  • Был(а) онлайн: 1.02.2020
  • Комментариев: 55
  • 0
поставлю в локалку чтобы не мучатся

--------------------

#10dyzajner

  • 4 января 2010 11:37
  • Регистрация: 24.10.2009
  • Был(а) онлайн: 20.11.2024
  • Комментариев: 60
  • 0
насколько я помню, был такой модуль.
Но с точки зрения сео не рекомендуется использовать, можно в бан пс попасть

#11abatsk

  • 10 января 2010 10:28
  • Регистрация: 10.01.2010
  • Был(а) онлайн: 6.11.2018
  • Комментариев: 42
  • 0
Полезен хак будет когда юзерам сайта не охота заполнять данное полез, а тут уже за них все заполнится. Спасибо

#12kaybox

  • 2 февраля 2010 00:45
  • Регистрация: 1.02.2010
  • Был(а) онлайн: 13.10.2014
  • Комментариев: 57
  • 0
с таким автоматическим заполнением через 20 новостей этих тегов столько будет что dash я думаю лучше добавлять руками теги которые лучше всего подходят а не первые попавшиеся слова

#13Hallboy222

  • 5 февраля 2010 10:06
  • Регистрация: 5.02.2010
  • Был(а) онлайн: 8.05.2012
  • Комментариев: 19
  • 0
а вот это классный хак)

#14-=MaD_DoG=-

  • 7 мая 2011 01:52
  • Регистрация: 9.02.2010
  • Был(а) онлайн: 5.12.2012
  • Комментариев: 223
  • 0
поправочка

$tag = implode ( ", ", $tags );

", " между запятой нету пробела, а нужно там что бы был))

--------------------

#15DoKeP

  • 12 сентября 2012 19:02
  • Регистрация: 16.05.2012
  • Был(а) онлайн: 22.04.2014
  • Комментариев: 6
  • 0
на 9,5 будет работать ?

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Архив новостей
Ноябрь 2024 (9)
Октябрь 2024 (169)
Сентябрь 2024 (13)
Август 2024 (60)
Июль 2024 (12)
Июнь 2024 (30)

Последние комментарии: