DLE-Infa.RU Регистрация Статистика Контакты Сервис
«    Май 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
 
ajax, css, dle, free, green, info, news, pr, release, sms, url, user, wap, альбом, английский, баг, блок, загрузка, запрет, изображения, категории, комментарии, кэш, модуль, новости, новость, ошибка, переходы, подсказки, пользователи, релиз, смарт, спам, тиц, файлы, фото, хак, чпу, шаблон, шаблоны
Качественный и дешевый VDS / VPS хостинг
 Наш архив:
Апрель 2011 (1)
Январь 2011 (8)
Декабрь 2010 (7)
Ноябрь 2010 (3)
Октябрь 2010 (12)
Сентябрь 2010 (4)
   
Навигация по сайту
   
 

Похожие новости в виде списка с ЧПУ, Ajax и кэш

 
Похожие новости в виде списка с ЧПУ, Ajax и кэш

Дорогие друзья,

Представляю Вашему вниманию модуль для DLE "Похожие новости в виде списка с ЧПУ, Ajax и кэш". Этот модуль выводит похожие новости, опубликованные на сайте в виде списка, а поддержка кеша максимально уменьшает нагрузку, так же модуль поддерживает все виды ЧПУ и переход по страницам с использованием Ajax и настройкой из админ-панели.

Установка Похожие новости в виде списка с ЧПУ, Ajax и кэш:

  1. Открываем engine\modules\show.full.php
    Находим (404 стр.):
            if( $config['related_news'] ) {
               
                if( $config['allow_cache'] != "yes" ) {
                    $config['allow_cache'] = "yes";
                    $revert_cache = true;
                } else
                    $revert_cache = false;
               
                $buffer = dle_cache( "related", $row['id'] );
               
                if( $buffer === FALSE ) {
                   
                    if( strlen( $row['full_story'] ) < strlen( $row['short_story'] ) ) $body = $row['short_story'];
                    else $body = $row['full_story'];
                   
                    $body = $db->safesql( strip_tags( stripslashes( $metatags['title'] . " " . $body ) ) );
                   
                    $config['related_number'] = intval( $config['related_number'] );
                    if( $config['related_number'] < 1 ) $config['related_number'] = 5;
                   
                    $db->query( "SELECT id, title, date, category, alt_name, flag FROM " . PREFIX . "_post WHERE MATCH (title, short_story, full_story, xfields) AGAINST ('$body') AND id != " . $row['id'] . " AND approve='1'" . $where_date . " LIMIT " . $config['related_number'] );
                   
                    while ( $related = $db->get_row() ) {
                       
                        $related['date'] = strtotime( $related['date'] );
                        $related['category'] = intval( $related['category'] );
                       
                        if( strlen( $related['title'] ) > 75 ) $related['title'] = substr( $related['title'], 0, 75 ) . " ...";
                       
                        if( $config['allow_alt_url'] == "yes" ) {
                           
                            if( $related['flag'] and $config['seo_type'] ) {
                               
                                if( $related['category'] and $config['seo_type'] == 2 ) {
                                   
                                    $full_link = $config['http_home_url'] . get_url( $related['category'] ) . "/" . $related['id'] . "-" . $related['alt_name'] . ".html";
                               
                                } else {
                                   
                                    $full_link = $config['http_home_url'] . $related['id'] . "-" . $related['alt_name'] . ".html";
                               
                                }
                           
                            } else {
                               
                                $full_link = $config['http_home_url'] . date( 'Y/m/d/', $related['date'] ) . $related['alt_name'] . ".html";
                            }
                       
                        } else {
                           
                            $full_link = $config['http_home_url'] . "index.php?newsid=" . $related['id'];
                       
                        }
                       
                        $buffer .= "<li><a href=\"" . $full_link . "\">" . stripslashes( $related['title'] ) . "</a></li>";
                   
                    }
                   
                    $db->free();
                    create_cache( "related", $buffer, $row['id'] );
                }
               
                $tpl->set( '{related-news}', $buffer );
               
                if( $revert_cache ) $config['allow_cache'] = "no";
           
            }

    Заменяем на:
            if( $config['related_news'] ) {
               
                if( $config['allow_cache'] != "yes" ) {
                    $config['allow_cache'] = "yes";
                    $revert_cache = true;
                } else
                    $revert_cache = false;
               
                $buffer = dle_cache( "related", $row['id'] );
               
                if( $buffer === FALSE ) {
                   
                    if( strlen( $row['full_story'] ) < strlen( $row['short_story'] ) ) $body = $row['short_story'];
                    else $body = $row['full_story'];
                   
                    $body = $db->safesql( strip_tags( stripslashes( $metatags['title'] . " " . $body ) ) );
                   
                    $config['related_number'] = intval( $config['related_number'] );
                    if( $config['related_number'] < 1 ) $config['related_number'] = 5;

                    if( $config['ajax'] ) {
                        $buffer = "<select onchange=\"DlePage('newsid='+this.value); return false;\">";
                    }
      
                    else {
                        if ( $config['allow_alt_url'] == "yes" ) {
                            $buffer = "<select onchange=\"javascript:window.location='" . $config['http_home_url'] . "'+this.value+'.html'\">";
                        }
                        else {
                            $buffer = "<select onchange=\"javascript:window.location='" . $config['http_home_url'] . "?newsid='+this.value;\">";
                        }
                    }
                    $buffer .= "<option value = \"#\" selected disabled>Похожие новости</option>";   
                   
                    $db->query( "SELECT id, title, date, category, alt_name, flag FROM " . PREFIX . "_post WHERE MATCH (title, short_story, full_story, xfields) AGAINST ('$body') AND id != " . $row['id'] . " AND approve='1'" . $where_date . " LIMIT " . $config['related_number'] );

                    while ( $related = $db->get_row() ) {
                        $related['date'] = strtotime( $related['date'] );
                        $related['category'] = intval( $related['category'] );
          
                        if ( $config['allow_alt_url'] == "yes" && ! $config['ajax']) {

                            if( $related['flag'] and $config['seo_type'] ) {
          
                                if( $related['category'] and $config['seo_type'] == 2 ) {
                                    $buffer .= "<option value = \"" . get_url( $related['category'] ) . "/" . $related['id'] . "-" . $related['alt_name'] . "\">" . $related['title'] . "</option>";
                                }
                                else {
                                    $buffer .= "<option value = \"" . $related['id'] . "-" . $related['alt_name'] . "\">" . $related['title'] . "</option>";
                                }
                            }
                            else {
                                $buffer .= "<option value = \"" . date( 'Y/m/d/', $related['date'] ) . $related['alt_name'] . "\">" . $related['title'] . "</option>";
                            }
                        }
                        else{
                            $buffer .= "<option value = \"" . $related['id'] . "\">" . $related['title'] . "</option>";
                        }
                    }

                        $buffer .= "</select>";
                       
                        $db->free();
                        create_cache( "related", $buffer, $row['id'] );

                    }
               
                $tpl->set( '{related-news}', $buffer );
               
                if( $revert_cache ) $config['allow_cache'] = "no";
           
            }
  2. Открываем шаблон "Статья целиком | fullstory.tpl" и в нужном месте, если еще не установлен, вставляем тег {related-news}.
  3. Чистим кэш из админ-панели
P.S> Для работы ajax необходимо в настройках DLE включить "Использование технологии AJAX для навигации по сайту".

 
 
  Лицензия: Бесплатно
Версия DLE: 8.0
Автор: Брупт (dle-infa.ru)
Скачать Похожие новости в виде списка с ЧПУ, Ajax и кэш: Вы не можете скачивать файлы с нашего сервера
Категории новости: Хаки
Ключевые слова новости: похожие, новости, списк, чпу, ajax, кэш
 
 
 
 
 
   
 

Добавление комментария
 
Ваше Имя:
Ваш E-Mail:
Включите эту картинку для отображения кода безопасности
обновить, если не виден код

 
 
 
Популярные новости
Copyright© DLE-Infa group (DLE-Infa.RU) 2009-2011 Все права защищены. Копирование и использование каких либо материала на сайте разрешено только с прямой ссылкой на dle-infa.ru