Cистема управления сайтом

Оператор dynamic

Оператор dynamic позволяет выполнять код динамически в момент загрузки страницы. По сути он модифицирует djemscript в php.

Всё, что находится внутри тэгов, является динамическим и транслируется в динамический код.
Данные, зависящие от переменных <var[cgi:…]> и <var[php:id]> становятся динамическими автоматически, все зависимые от них конструкции генерируют динмаческий код.

Динамическим код становится в двух случаях:

1. Если выполнение кода зависит от динамических переменных, например <var[cgi:text]>

Пример

Простая форма поиска:


<form>
<input type="text" name="text" value="<var[cgi:text]>">
<input type="submit">
</form>
<if <var[cgi:text]>>
<h2>Результаты поиска по запросу <var[cgi:text]></h2>
<foreach name=search path="<#_id#>.*" where="_name like '<var[cgi:text]>' || text like '<var[cgi:text]>'">
     
<a href="<foreach[search]._url>"><foreach[search]._name></a>

</foreach>
</if> 

2. Код, заключеный в тег <dynamic>

Тег dynamic

<dynamic>
DJEM-script, который выполнится в момент открытия страницы
</dynamic>

Пример

Счетчик просмотра страниц:

<dynamic>
<#counter = <#counter#> + 1#>
</dynamic>
Заходов:
<#counter#>

Пример

Передача переменных php в dynamic

<?php $userid = R('DJEMAuth')->_id; ?> {{ берем ID пользователя из авторизации и записываем в переменную }}
<foreach name="x" path="main.rus.blog.$" where="author = '<var[php:userid]>'">
.DJEM-script.
</foreach>

 

На заметку

Для функционирования оператора dynamic необходим вызов конфигурационного файла

<?php require_once('<['main.system.php.config'].documentRoot><['main.system.php.config']._file>'); ?>

 

Примечание

Некоторые методы и операторы в dynamic не работают. Например format(«rus»).

Поиск по документации

О компании  |  Партнёрам

© 2005 — 2024 DJEM Solutions, все права защищены. | Дизайн — Студия Fractalla