Хак Расширяет функционал тега {custom}
Рубрика: Хаки для DLE » Хак DLE 13.1, 13.0, 12.1, 12.0, 11.3, 11.2, 11.1, 11.0, 10.6, 10.5, 10.4, 10.3, 10.2, 10.1, 10.0, 9.8
Готовое решение для многих сайтов на движке DataLife Engine, кто использует тег CUSTOM. Хак Расширяет функционал тега {custom} для DLE - после добавления можно будет выводить новости из просматриваемой категории с custom без дополнительных тегов ( доп. тегов ) и головной боли.
Ведь обычно для реализации вывода новости из просматриваемой категории нужно для каждой категории прописывать свой тег.
Многие это делают вот таким образом:
[category=1]{custom category="1"}[/category]
[category=2]{custom category="2"}[/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 ошибку.
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, в текстовом виде коды
Хак Расширяет функционал тега custom для DLE - после добавления можно будет выводить новости из просматриваемой категории с custom без доп. тегов всё лучшее у нас форумы, хаки, модули, шаблоны.
Рубрика: DLE хаки » Хак для DLE
Очень обяжите воспользовавшись кнопками социальной сети или +1 Google. Спасибо, за Ваше участие!