AlexAntre
Bootstrapper
- Регистрация
- 22 Ноя 2007
- Сообщения
- 214
- Реакции
- 45
- Автор темы
- #1
Здесь на нулледе не нашел.
{if $is_logged}
Вы пользователь!
{else}
Вы гость
{/if}
Не подскажите в чем дело?
Еще вопрос: Как в шаблоне (main.tpl) вставить php-код?
Версия DLE 8.5. В шаблон main.tpl вставил условие, но не работает. Просто так и выводит:Данных хак позволяет добавить условие {if}|{else} в шаблон.
Можно работать с переменными активных модулей и самой DLE посредством редактирования шаблона.
Установка проста.
Открываем: \engine\classes\templates.class.php
Находим:
Ниже вставляем:PHP:if (strpos ( $template, "[not-group=" ) !== false) { $template = preg_replace ( "#\\[not-group=(.+?)\\](.*?)\\[/not-group\\]#ies", "\$this->check_group('\\1', '\\2', false)", $template ); }
Находим:PHP:if (strpos ( $this->template, "{if " ) !== false) { $this->template = preg_replace ( "#\\{if (.+?)\\}(.*?)\\{/if\\}#ies", "\$this->check_else('\\1', '\\2', false)", $this->template ); }
Выше вставляем:PHP:function get_real_time() {
Сохранём и радуемся)))PHP: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}
{if $is_logged}
Вы пользователь!
{else}
Вы гость
{/if}
Не подскажите в чем дело?
Еще вопрос: Как в шаблоне (main.tpl) вставить php-код?