prowebber.ru - Тут есть все для настоящих вебмастеров

Чтение RSS Мы в твиттере
«    Май 2012    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 

ProWebber | Всё для вебмастера » Всё для DataLife Engine » DLE хаки » Автоматическое добавление тегов из заголовка новости




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


У нас вы можете скачать бесплатно Автоматическое добавление тегов из заголовка новости .

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

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

Версия 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 );
                    
                    }
                }




 (голосов: 1)
Просмотры: 1530 VIP ProWebber | Комментарии (14)
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

MaxiMoruM

  • 30 декабря 2009 17:31
  • Регистрация: 1.11.2009
  • ICQ: --
  • Комментариев: 13
и что в конечном итоги мы получим?? можно пример или скрин

kaktus

  • 30 декабря 2009 20:00
  • Регистрация: 9.10.2009
  • ICQ: 402814915
  • Комментариев: 113
я ставил на подобие скрипт, а возможно и этот, все отлично работало

MysterIoes

  • 31 декабря 2009 02:40
  • Регистрация: 22.11.2009
  • ICQ: 649383740
  • Комментариев: 379
на 8.3 у меня отлично работает cool

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

DaImeR

  • 31 декабря 2009 09:11
  • Регистрация: 21.11.2009
  • ICQ: 1942177
  • Комментариев: 335
Ну тогда скрин скиньте того что получилось в итоге

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

bin112

  • 31 декабря 2009 17:02
  • Регистрация: 15.08.2009
  • ICQ: 7851460
  • Комментариев: 80
на 7,5 работать буит?

Mr.Sorrel

  • 31 декабря 2009 17:07
  • Регистрация: 11.11.2009
  • ICQ: 79374388
  • Комментариев: 103
Зачем вам скрин? Объясняю что получится!

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

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


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

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

BeSSeR

  • 31 декабря 2009 17:08
  • Регистрация: 23.11.2009
  • ICQ: --
  • Комментариев: 173
Написано же, 8.3 и ниже.

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

MysterIoes

  • 31 декабря 2009 17:10
  • Регистрация: 22.11.2009
  • ICQ: 649383740
  • Комментариев: 379
bin112,
Версия DLE: 8.3 и ниже

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

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

ZAVcom

  • 1 января 2010 15:19
  • Регистрация: 14.10.2009
  • ICQ: 77038390
  • Комментариев: 51
поставлю в локалку чтобы не мучатся

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

dyzajner

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

abatsk

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

kaybox

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

Hallboy222

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

-=MaD_DoG=-

  • 7 мая 2011 01:52
  • Регистрация: 9.02.2010
  • ICQ: --
  • Комментариев: 230
  • Выкл.
поправочка

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

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

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

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


Yandex-Апдейт
↓ Апдейты Яndex тИЦ
13.04.2012Последний
16.02.2012
04.02.2012
↓ Апдейты выдачи Яndexa
17.05.2012Последний
15.05.2012
12.05.2012
↓ Апдейты ЯКаталога
16.05.2012Последний
11.05.2012
09.05.2012
Витрина ссылок
Elegant Division: Коллекция смайлов для DLE
Assada: Profile Reviews 1.3 - модуль стены для DLE! http://assada.com.ua/
Misterio: DCOReARTS.COM - Студия web - дизайна и графики!
Misterio: DCOReARTS.COM - Студия web - дизайна и графики!
skRpk: пбчит.рф Баги и Читы для игры Point Blank

Поддержи сайт
Скрипты, cms, шаблоны, статьи по раскрутке

Опросы

Чего не хватает сайту?

Материала
Живого общения

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

  • Всё для IPB
  • Информер