Хак Расширяет функционал тега {custom}

Рубрика: Хаки для DLE » Хак DLE 11.2, 11.1, 11.0, 10.6, 10.5, 10.4, 10.3, 10.2, 10.1, 10.0, 9.8, 9.7, 9.6, 9.5, 9.4, 9.3, 9.2, 9.0
Хак Расширяет функционал тега {custom}
Готовое решение для многих сайтов на движке DataLife Engine, кто использует тег CUSTOM. Хак Расширяет функционал тега {custom} для DLE - после добавления можно будет выводить новости из просматриваемой категории с custom без дополнительных тегов ( доп. тегов ) и головной боли.
Ведь обычно для реализации вывода новости из просматриваемой категории нужно для каждой категории прописывать свой тег. www.dle9.com

Многие это делают вот таким образом:

[category=1]{custom category="1"}[/category]
[category=2]{custom category="2"}[/category]

...

Чтобы это сделать по умному, предлагается решение
Все новости будут выводиться одним тегом с указанным category="current" или category="current_sub"

[aviable=cat|showfull]{custom category="current"}[/aviable]


и
[aviable=cat]{custom category="current_sub"}[/aviable]

current - берет ID одной категории, непосредственно той, в которой находится пользователь.
current_sub - создает список категорий с учетом подкатегорий просматриваемой категории.
aviable - необходим, т.к. во всех других случаях переменная $category_id будет пустая и мы получим MySQL ошибку.



Установка Хака расширение функционала тега {custom}:
1. Открыть файл engine/modules/functions.php:
В Dle 9.7 и 9.8 найти строку:

$custom_category = $db->safesql( trim(str_replace( ',', '|', $match[1] )) );


Перед ней вставить:

if($match[1]=='current') $custom_category = $category_id;
elseif($match[1]=='current_sub') $custom_category = get_sub_cats($category_id);
else


В Dle 10.0 и старше найти строку:

if( preg_match( "#category=['"](.+?)['"]#i", $param_str, $match ) ) {


После нее вставить:

if($match[1]=='current') $custom_category = $category_id;
elseif($match[1]=='current_sub') $custom_category = get_sub_cats($category_id);
else{


2. Далее найти строку:

$custom_category = $db->safesql( trim(str_replace( ',', '|', $temp_array )) );


И после нее вставить закрывающую скобку:

}


Версия движка: 9.7 - 10.х на новой версии Dle 10.1
Автор: Sander

Скачать хаки для dle, в текстовом виде коды
  • 60
Рубрика: DLE хаки » Хак для DLE
Ранее » Хак для DLE Несколько форм добавления новостей« Далее Хак для DLE Favorite News
Добавление комментарияОставить комментарий