MODx/Подключаемые плагины/PHx: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 343:
#'''$output''' - содержит текущее значение переменной, которую необходимо модифицировать.
#'''$options''' - необязательный параметр, значение которого передается в модификатор.
 
----
 
Приведем пару примеров использования модификаторов. Допустим, что плейсхолдер '''myplaceholder''' имеет значение '''"test"''':
Строка 353 ⟶ 355 :
*Переменная '''$output''' все еще содержит значение "'''test'''".
*Переменная '''$options''' теперь содержит значение "'''my options'''".
 
----
 
'''Прочие переменные (для продвинутых пользователей)'''
Строка 380 ⟶ 384 :
# В Менеджере ресурсов надо зайти в Ресурсы(Элементы) -> Управление ресурсами (элементами) -> Сниппеты
# Нажать "Новый сниппет"
# В качестве имени сниппета задать "'''phx:lovelove2'''"
#: Для того, чтобы сниппет воспринимался как модификатор для PHx, его название должно иметь префикс "'''phx:'''" без пробелов между ним и собственно именем сниппета. Тогда можно будет его использовать как модификатор, добавив :love к любому плейсхолдеру, например: <code>[+myplaceholder:love2+]</code>.
#: For PHx to know about the custom modifier all snippets created for PHx should be prefixed with "'''phx:'''" the string (containing NO spaces) after the prefix will be the actual modifier name. In this case our modifier will be triggered by adding :love to the placeholder like [+myplaceholder:love2+].
# Теперь добавим код модификатора в поле для кода. Допустим, это будет код следующего вида:
# Now we are going to enter the modifier code into the snippet code field. For this example we create it like this:
#:<code>[php]<?php return $output . (strlen($options)>0 ? $options : ' because I do love MODx'); ?>
#:<code>[php]
<?php
$defaultValue = " because I do love MODx";
if (strlen($options)>0) {
$newvalue = $output . $options;
} else {
$newvalue = $output . $defaultValue;
}
return $newvalue;
?>
</code>
# Сохраним изменения и наш новый модификатор (''':love2''') готов к использованию!
# Click "Save" and your custom modifier (''':love2''') is ready for use!
 
=== Условные модификаторы ===