loading...

Авторизация ...

Имя пользователя :
Пароль :
я всё забыл!

ХакиНовый тэг subcategory

Написал kdn1990, 19 октября 2012 | 9 комментариев | рейтинг новости не нравится   0   нравится Версия для печати
Вот понадобилось мне сделать на одном сайте вывод или наоборот скрытие определенной информации при условии: если мы находимся в категории и в под категориях этой категории.
Вот просто не захотелось мне писать все под категории в ручную. И сделал небольшой хак для улучшения функциональности DLE.

Совместимость: 9.7 (если есть поддержка subcategory, то думаю и это тоже будет работать)

Установка:
1. Открываем /index.php и находим
if (stripos ( $tpl->copy_template, "[static=" ) !== false) {

и перед вставляем:
/* kdn1990 */
if (stripos ( $tpl->copy_template, "[subcategory=" ) !== false) {
    $tpl->copy_template = preg_replace ( "#[subcategory=(.*?)](.*?)[/subcategory]#ies", "check_subcategory('\1', '\2', '{$category_id}')", $tpl->copy_template );
}

if (stripos ( $tpl->copy_template, "[not-subcategory=" ) !== false) {
    $tpl->copy_template = preg_replace ( "#[not-subcategory=(.*?)](.*?)[/not-subcategory]#ies", "check_subcategory('\1', '\2', '{$category_id}', false)", $tpl->copy_template );
}
/* kdn1990 */


2. Открываем /engine/modules/functions.php и ищем
function clean_url($url) {

и перед вставляем:
/* kdn1990 */
function check_subcategory($catid, $block, $category, $action = true) {
    $catid = (int)$catid;

    if ($catid > 0) {
        $cats = get_sub_cats($catid);
        $cats = explode( '|', $cats );
        $category = explode(',', $category);
        $found = false;

        foreach ($category as $element) {
            if ($action) {
                if (in_array($element, $cats)) {
                    $block = str_replace('"', '"', $block);
                    return $block;
                }
            } else {
                if (in_array($element, $cats)) {
                    $found = true;
                }
            }
        }

        if (!$action && !$found) {    
            $block = str_replace('"', '"', $block );
            return $block;
        }
    }

    return "";
}
/* kdn1990 */


Ну вот и собственно все. Тут скриншот не требуется.

Спасибо за внимание.


Отблагодарили: pavel31

Комментарии пользователей

  Экспорт комментариев в RSS
 Сортировать по рейтингу, по дате

Написал dilmahtea, 22 октября 2012 в 18:06 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 5, Пользователи
Карма:
59 супер

Написал agnnesochka, 30 октября 2012 в 13:22 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 5, Пользователи
Карма:
отлично

Написал katerinnocha, 31 октября 2012 в 18:09 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 5, Пользователи
Карма:
отлично

Написал VAT, 4 ноября 2012 в 20:07 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 249, Пользователи
Карма:
здорово) одна из немногих фишек, которых мне действительно не хватало в функционале движка ) автору респект)
сделал бы еще кто-то, чтобы в древе спидбара показывалось "категория-...-подкатегория-подкатегория", а не полный путь "категория-подкатегория-подкатегория-подкатегория-подкатегория" :/

up:
на 9.5 не пашет. мб. парсер код поел?
кол-во субкатегорий примерно 9... никаких ошибок не выдает, просто белая страница...

Написал deonissiya, 13 ноября 2012 в 19:21 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 9, Пользователи
Карма:
интересно

Написал kdn1990, 19 ноября 2012 в 15:54 плохой комментарий   0   хороший комментарий
Новостей: 2, комментариев: 5, Пользователи
Карма:
Совместимость: 9.7 (если есть поддержка subcategory, то думаю и это тоже будет работать)

косяк в описании :)

парсер съедает код, на pastebin.com выложил код "как есть"

Написал bellochkka, 6 апреля 2013 в 03:22 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 10, Пользователи
Карма:
smile класс

Написал matildda, 16 мая 2013 в 01:00 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 20, Пользователи
Карма:
отличненько!

Написал kdn1990, 17 мая 2013 в 15:32 плохой комментарий   0   хороший комментарий
Новостей: 2, комментариев: 5, Пользователи
Карма:

Информация



Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.
Анализ Тиц и PR сайта

[removed][removed] [removed] (adsbygoogle = window.adsbygoogle || []).push({}); [removed]