Сніпет — це код на мові PHP, який виводить результат своєї роботи в тому місці шаблону/чанку, де можна викликати цей сніпет. У сніпетах можна передавати будь-які параметри, в тому числі інші сніпети, тв-параметри чи чанки.
Як правило, сніпети використовуються для виведення динамічно-змінного вмісту. Вони можуть використовуватись для створення меню, коментарів, стрічок новин, блогів або будь-якого іншого функціоналу, який можливий мовою php у зв'язці з API системи Evolution.
Викликати сніпет можна в будь-якому місці ресурсу. Як правило, зазвичай це відбувається у шаблоні чи чанках. Вкрай не рекомендується викликати сніпети в полі content, особливо якщо це поле доступне для редагування менеджерам сайту.
[!mySnippet? ¶m=`Value`!] - виклик, що не кешується
[[mySnippet? ¶m=`Value`]] - кешований виклик
$params => array('param' => 'Value');
$modx->runSnippet('mySnippet', $params);
Наприклад зробимо сніпет, що показує дату створення документа в читаному людиною форматі. Дата створення документа перебуває у системному ТВ-параметрі [*createdon*]. Параметр зберігає дату створення документа у форматі unixtime і виглядає його значення приблизно так: 1144904400.
<?php
$fullMonth = array(
'1' => 'січня',
'2' => 'лютого',
'3' => 'березня',
'4' => 'квітня',
'5' => 'травня',
'6' => 'червня',
'7' => 'липня',
'8' => 'серпня',
'9' => 'вересня',
'10' => 'жовтня',
'11' => 'листопада',
'12' => 'грудня');
$output = strftime('%d.%m.%Y',$date);
$date = explode(".", $output);
$month = (int)$date[1];
$m = $fullMonth[$month];
$out = $date[0] . ' ' . $m . ' ' . $date[2];
return $out;
Використання.
Передамо сніпету ТВ-параметр [*createdon*]:
[[ruDate? &date=`[*createdon*]`]]
В результаті ми отримаємо щось подібне:
21 травня 2018