![]() |
|
|
Модули, Хаки, Примочки для DLE Тут собираются темы с модулями, хаками и разными примочками для движка DataLife Engine |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 | |||
Коварный тип
![]() ![]()
|
![]() Category Related News
Автор: MSW Версия DLE: 9.6-9.8 Сайт поддержки: http://0-web.ru/ ![]() Хак Category Related News позволяет выводить похожие новости только из основной категории расположения просматриваемой новости. Таким образом если новость находится в Фильмы->Мультфильмы, то в ней похожие новости будут браться только из категории Фильмы и всех подкатегорий данной категории и новости из других категорий, например Музыка, Программы и т.д., выводится не будут в категории фильмов. Внимание! Так как делал для себя, то хак рабочий только на версиях DLE 9.6 - 9.8. Особенности: - выводит новости из категорий принадлежащей родительской категории просматриваемой новости. - не создаёт дополнительных запросов, используется стандартный механизм определения похожих новостей но с ограничением по категориям. - не учитывает разрешённые категории по группам пользователей, в похожих выводит из всех категорий не зависимо имеет юзер доступ к просмотру новостей из неё или нет. Установка: 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 ***# Код:
UPDATE `dle_post_extras` SET `related_ids` = "" Инструкция в текстовом варианте: category-related-news.txt.zip (1.1 Кб) |
|||
![]() |