05:46 Шаблонизатор. Условия if-else | |
Данных хак позволяет добавить условие {if}|{else} в шаблон. Сама идея пришла когда покупатели Отличие данного хака есть то что мы сможем работать с переменными активных модулей и самой Dle посредством редактирования шаблона. Установка проста. Открываем: engineclassestemplates.class.php Находим: if (strpos ( $template, "[not-group=" ) !== false) { $template = preg_replace ( "#\\[not-group=(.+?)\\](.*?)\\[/not-group\\]#ies", "$this->check_group('\\1', '\\2', false)", $template ); } Ниже вставляем: if (strpos ( $this->template, "{if " ) !== false) { $this->template = preg_replace ( "#\\{if (.+?)\\}(.*?)\\{/if\\}#ies", "$this->check_else('\\1', '\\2', false)", $this->template ); } Находим: function get_real_time() { Выше вставляем: function check_else($condition, $block) { global $GLOBALS; extract($GLOBALS, EXTR_SKIP, ""); if(is_array($matches=explode("{else}",$block))) { $block=$matches[0]; $else=$matches[1]; } if(eval(("return $condition;"))) return str_replace( '"', '"', $block ); return str_replace( '"', '"', $else ); } Сохранём и радуемся))) как этим пользоваться? Нужны хоть общие понятия в языке php Примеры: Допустим нам надо сделать вывод зарегистрирован ли данный пользователь на сайте, но сделать это надо не в login.tpl, а, допустим, в main.tpl ну или в выводе короткой новости. Делается это очень просто: {if $is_logged} Вы пользователь! {else} Вы гость {/if} Ну или сделать сообщение о просьбе зарегистрироваться: {if !$is_logged} Зарегистрируйтесь на сайте! {/if} Далее как вам позволяет фантазия))) Всё, спасибо за внимание) Автор Lion__ | |
|
Всего комментариев: 0 | |