Шпаргалка по Fenom
Описание по подключению плейсхолдеров на страницу
информация с официальной документации pdotools
MODX | Fenom | Описание |
---|---|---|
[[+pagetitle]] |
{$pagetitle} | Заголовок |
[[*pagetitle]] |
{$modx->resource->pagetitle} | Заголовок |
[[%lexicon]] |
{$modx->lexicon('lexicon')} | вывод словарей |
[[~[[+id]]]] |
{$modx->makeUrl($id)} | укл на страницу |
[[++site_url]] |
{$modx->config.site_url} | настройки modx |
[[$chunkName]] |
{$pdoTools->getChunk('chunkName')} или {include 'chunkName'} | чанк |
[[!snippetName]] |
{$modx->runSnippet("pdoResources", ['parents' => 0])} | сниппет |
[[*id:is=`1`:then=``:else=``]] |
{if $id = 1}{else}{/if} | if else |
[[+pagetitle:modificator]] |
{$pagetitle | modificator} | модификатор |
[[+pagetitle:modificator]] |
{$_modx->placeholders} | массив с системными плейсхолдерами |
Другие параметры
Fenom | Описание |
---|---|
{$_modx->placeholders} | массив с системными плейсхолдерами |
{$_modx->config} | массив с системными настройками |
{$_modx->context} | массив (не объект!) с текущим контекстом |
{$_modx->user} | массив (не объект!) с текущим пользователем |
{$_modx->resource} | массив (не объект!) с текущим ресурсом |
{$_modx->lexicon} | служба загрузки лексиконов |
{$_modx->lexicon()} | функция для вывода строки из лексикона |
{$_modx->runSnippet()} | запуск сниппета |
{$_modx->runProcessor()} | запуск процессора |
{$_modx->getChunk()} | вывод чанка |
{$_modx->runSnippet('!pdoResources')} | не кэшируемый |
{$.get.test} | GET |
{$.post.test} | POST |
{$date|date:"Y"} | текущий год |
{55|url} | Ссылка на документ |
Модификаторы MODX FENOM
Fenom | Описание |
---|---|
{$date| date: "Y"} | текущий год |
{55| url} | Ссылка на ресурс |
Подключение наборов параметров
Fenom | Описание |
---|---|
{$_modx->getChunk('Name@PropertySet')} | для чанка |
{include 'Name@PropertySet'} | |
{$_modx->runSnippet('NameName@PropertySet')} | для сниппетов |
{include 'template:TemplateName@PropertySet'} |
Подключение шаблона
Fenom | Описание |
---|---|
{include 'template:имя шаблона'} | подключение шаблока |
{include 'имя чанка'} | подключение чанка |
{include 'имя чанка'} | подключение чанка |
{block 'content'}контект{/block} | расcтановка блоков |
{extends 'file:templates/base.tpl'} | наследование шаблона |
Примеры работы
// загрукзка ресурсов
{$_modx->runSnippet('pdoResources', [
'parents' => 19,
'depth' => 0,
'where' => ['isfolder' => 0],
'showLog' => 1,
])}
// загрукзка меню
{$_modx->runSnippet('pdoMenu', [
'parents' => 0,
'level' => 2
])}
<p>
{$_modx->lexicon->load('ms2gallery:default')}
Проверка словарей ms2Gallery: {$_modx->lexicon('ms2gallery_err_gallery_exists')}
</p>
<p>
{if $_modx->isAuthenticated('web')}
Привет, {$_modx->user.fullname}!
{else}
Вам нужно авторизоваться =(
{/if}
</p>
<p>Текущий контекст: {$_modx->context.key}</p>
Создание значения из переменной с добавление префикса
{set $lexicon = "ms2_product_{$field}"}
{('ms2_product_' ~ $name) | lexicon}
Тег {foreach}
Тег foreach
предоставляет простой способ перебора массивов.
Foreach
работает только с массивами, объектами и интервалами.
{foreach $list [as [$key =>] $value] [index=$index] [first=$first] [last=$last]}
{* ...code... *}
{break}
{* ...code... *}
{continue}
{* ...code... *}
{foreachelse}
{* ...code... *}
{/foreach}
{foreach}
Перебор значений массива $list:
{foreach $list as $value}
<div>{$value}</div>
{/foreach}
{foreach 1..7 as $value} {* так же хорошо работает и с интервалами *}
<div>№{$value}</div>
{/foreach}
Перебор ключей и значений массива $list:
{foreach $list as $key => $value}
<div>{$key}: {$value}</div>
{/foreach}
Получение номера (индекса) итерации, начиная с 0
{foreach $list as $value}
<div>№{$value@index}: {$value}</div>
{/foreach}
или
{foreach $list as $value index=$index}
<div>№{$index}: {$value}</div>
{/foreach}
Определение первой итерации:
{foreach $list as $value}
<div>{if $value@first} first item {/if} {$value}</div>
{/foreach}
или
{foreach $list as $value first=$first}
<div>{if $first} first item {/if} {$value}</div>
{/foreach}
Переменная $value@first
будет иметь значение TRUE, если текущая итерация является первой.
Определение последней интерации:
{foreach $list as $value}
<div>{if $value@last} last item {/if} {$value}</div>
{/foreach}
или
{foreach $list as $value last=$last}
<div>{if $last} last item {/if} {$value}</div>
{/foreach}
Переменная $value:last
будет иметь значение TRUE, если текущая итерация является последней.
Замечание:
Использование last
требует от $list
быть countable.
{break}
Тег {break}
используется для выхода из цикла до достижения последней итерации.
Если в цикле встречается тег {break}
, цикл завершает свою работу, и далее, выполняется код, следующий сразу за блоком цикла
{continue}
Тег {continue}
используется для прерывания текущей итерации.
Если в цикле встречается тег {continue}
, часть цикла, следующая после тега, не выполняется, и начинается следующая итерация.
Если текущая итерация была последней, цикл завершается.
{foreachelse}
Тег {foreachelse} ограничивает код, который должен быть выполнен, если итерируемый объект пуст.
{var $list = []}
{foreach $list as $value}
<div>{if $last} last item {/if} {$value}</div>
{foreachelse}
<div>empty</div>
{/foreach}
В блоке {foreachelse}...{/foreach}
использование {break}
, {continue}
выбросит исключение Fenom\CompileException
при компиляции
Вы должны авторизоваться, чтобы оставлять комментарии.
Комментарии ()