Навигация
Популярное
    Статистика

    Материалов: 1789 [+0]
    Пользователей: 685 [+0]

    Всего онлайн : 4
    Пользователей: 0
    Гостей: 4


    Последние комментарии
    ...
    HI-tech:
    0

    Category Related News

    Автор: Robot_DLElabкатегория: DataLife Engineдата: 24-12-2012, 01:27
    Category Related News


    Автор: MSW
    Версия DLE: 9.6-9.7
    Сайт поддержки: http://0-web.ru/

    Хак Category Related News позволяет выводить похожие новости только из основной категории расположения просматриваемой новости.

    Таким образом если новость находится в Фильмы->Мультфильмы, то в ней похожие новости будут браться только из категории Фильмы и всех подкатегорий данной категории и новости из других категорий, например Музыка, Программы и т.д., выводится не будут в категории фильмов.

    Внимание! Так как делал для себя, то хак рабочий только на версиях DLE 9.6 и 9.7.

    Особенности:
    - выводит новости из категорий принадлежащей родительской категории просматриваемой новости.
    - не создаёт дополнительных запросов, используется стандартный механизм определения похожих новостей но с ограничением по категориям.
    - не учитывает разрешённые категории по группам пользователей, в похожих выводит из всех категорий не зависимо имеет юзер доступ к просмотру новостей из неё или нет.

    Установка:
    1. Файл: /engine/modules/show.full.php
    Найти:
                        $allowed_cats = array();
        
                        foreach ($user_group as $value) {
                            if ($value['allow_cats'] != "all" AND !$value['allow_short'] ) $allowed_cats[] = $db->safesql($value['allow_cats']);
                        }
        
                        if (count($allowed_cats)) {
                            $allowed_cats = implode(",", $allowed_cats);
                            $allowed_cats = explode(",", $allowed_cats);
                            $allowed_cats = array_unique($allowed_cats);
                            sort($allowed_cats);
        
                            if ($config['allow_multi_category']) {
                                
                                $allowed_cats = "category regexp '[[:<:]](" . implode ( '|', $allowed_cats ) . ")[[:>:]]' AND ";
                            
                            } else {
                                
                                $allowed_cats = "category IN ('" . implode ( "','", $allowed_cats ) . "') AND ";
                            
                            }
                        } else $allowed_cats="";

    Заменить на:
    #*** Category Related News * by MSW ***#
                        $cat_array = array();
                        foreach($cat_list as $post_cat) {
                            $cat_array = array_unique( array_merge( $cat_array, explode( '|', get_sub_cats( $cat_info[$post_cat]['parentid'] ) ) ) );
                        }
                        if($config['allow_multi_category']) {
                            $allowed_cats = "category regexp '[[:<:]](". implode( '|', $cat_array ) .")[[:>:]]' AND ";
                        } else {
                            $allowed_cats = "category IN ('". implode( ',', $cat_array ) ."') AND ";
                        }
    #*** Category Related News * by MSW ***#

    2. Выполнить запрос в MySQL:
    UPDATE  `dle_post_extras` SET  `related_ids` =  ""

    3. Очистить кеш в админке DLE.

    * Внимание! Это инструкция по изменению логики работы стандартной функции вывода похожих новостей! Она не включает в себя инструкцию по оформлению вывода похожих новостей как на скриншоте!



    Скачать бесплатно

    Теги: DLE, хак

    Другие новости по теме:


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