Использоватние
{$variable | snippet}
Сниппет «snippet»
<?php
/** @var modX $modx */
switch ($modx->event->name) {
case 'pdoToolsOnFenomInit':
/** @var Fenom $fenom
Мы получаем переменную $fenom при его первой инициализации и можем вызывать его методы.
Например, добавим модификатор вывода имени домена сайта из произвольной ссылки.
*/
$fenom->addModifier('website', function ($input) {
if (!$url = parse_url($input)) {
return $input;
}
$output = str_replace('www.', '', $url['host']);
return strtolower($output);
});
break;
}
Если вы разрабатываете свой пакет, которому нужны собственные модификаторы, то лучше не захламлять плагин и вызывать метод из основного класса:
switch ($modx->event->name) {
case 'pdoToolsOnFenomInit':
$Extras = $modx->getService('Extras', 'Extras', MODX_CORE_PATH . 'components/extras/model/');
if ($Extras) {
/** @var Fenom $fenom */
$Extras->addFenomModifies($fenom);
}
break;
}
Modx Revo, Плагины, Fenom
$fenom->addModifier('website', function ($input) { // логика модификатора.. });$fenom->addModifier('website', function ($input) { include 'file.php'; });