9.04.13, 17:35
0 комментарий
  DLE Хаки

Category Related News

Хак 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.


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

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

Реклама

Напишите своё мнение

  • acuteaggressiveair_kissangel
    badbbbeachbeee
    biggrinbig_bossblumblush
    boastbombboredombye
    clappingcraycrazycurtsey
    dancedashdeclarediablo
    diroldon-t_mentiondownloaddrinks
    first_moveflirtfocusfool
    friendsgive_heartgive_rosegood
    hangheartheathelp
    hihunterhystericireful
    kingkisslaughlazy
    lolmail1mambaman_in_love
    mdamega_shokmoilmosking
    musicneanegativenew_russian
    okon_the_quietpardonparting
    partypilotpioneerpleasantry
    popcormpranksterprevedpunish
    roflrtfmrussiansad
    sarcasticscarescratchsearch
    secretsensoredshokshout
    slowsmilesmokesoldier
    soldier_girlsorryspitefulspruce_up
    stinkersuicidesunsuperstition
    swoonteasetenderthanks
    thisto_pick_ones_noseto_take_umbragetreaten
    umnikunknwvampirevava
    victorywackowhistlewink
    wizardyahooyesyu
    e101e102e103e104
    e105e106e107e108
    e109e110e111e112
    e113e114e115e116
    e117e118e119e120
    e121e122e123e124
    e125e126e127e128
    e129e130e131e132
    e133e134e135e136
    e137e138e139e140
    e141e142e143e144
    e145e146e147e148
    e149e150e151e152
    e153e154e155e156
    e157e158e159e160
    e161e162e163e164
    e165e166e167e168
    e169e170e171e172
    e173e174e175e176
    e177e178e179e180
    e181e182e183e184
    e185e186e187e188
    e189e190e191e192
    e193e194e195e196
    e197e198e199e200
    e201e202e203e204