Category Related News


Представляем новый хак дле Category Related News, который удобен и прост в установке, позволяет выводить похожие новости только из определенных категорий, где расположена просматриваемая новость. И это логичная функция, вместо вывода из всех категорий на сайте. Итак, представляем на dle9.com из рубрики хаки для DLE похожие новости только из одной категории под названием Category Related News для DLE 9.6 и 9.7.

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

Category Related News модуль dle похожие новости


Внимание! Так как делал для себя, то хак рабочий только на версиях 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="";


Заменить на:

                    $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 ";
                    }

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


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

Инструкция в текстовом варианте:

* Внимание! Это инструкция по изменению логики работы стандартной функции вывода похожих новостей! Она не включает в себя инструкцию по оформлению вывода похожих новостей как на скриншоте!
Хак для Dle Category Related News похожие новости только из одной категории.
Автор: MSW 0-web ru
Версия datalife engine: 9.7-9.6

Ознакомится с установку в текстовом файле

DLE-9.6-9.7-category-related-news.zip [37,17 Kb] (cкачиваний: 142)
  • 100

Комментарии 4

cassius от 21 августа 2013 03:16
на 9.8 будет работать?
armanilias от 26 мая 2013 19:34
на 9.8 будет работать?
dle9.com от 21 февраля 2013 16:25
dadjo,
Админ панель

Перестроение публикаций там можно переписать кеш ...может в этом дело
dadjo от 21 февраля 2013 16:14
что то у меня ничего не поменялось, как был список, так и остался... :belay:
Добавить комментарий

Оставить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent