Выход MODx Evolution 1.0.9

Сегодня вышел MODx Evolution 1.0.9.

Основная проблема которую решает данный релиз, это совместимость с php 5.4. Помимо исправления старых багов, добавление новых приколов которые уже давно всем были нужны. Более подробнее об изменениях можно прочитать в changelog. Хочется выделить некоторые из них.

Значительная переработка парсера:

[[SnippetA? &param1=`value` //можно оставлять комментарии
&param2=value &param3='value'
&param4="value" // любые кавычки или без кавычек а не только ``
&param5=`[[SnippetB]]` // нет конфликтов при вызове сниппета в сниппете
&param6=`A&B=C?` //используем любые символы в параметрах ]]

Появление бекап менеджера:
0d653558cf5023593693476f1d198872[1]

Добавлен Сниппет IF :
Сниппет для вывода информации по условию.
Логика работы: Если условие is выполняется, то выводим содержимое параметра then, если не выполняется, то выводим содержимое параметра else.
[[if? &is=`[*id*]:=:4:or:[*parent*]:in:5,6,5,7,8,9` &then=`[[if&is=`0||=||0` &then=`true` &else=`false` &separator=`||`]]` &else=`@TPL:else`]]
[[if? &is=`[*id*]:is:1:or:[*id*]:is:2:and:[*parent*]:is:5:or:[*parent*]:in:2,3,4` &then=`true` &else=`false`]]
//Все выражения обрабатываются по логике (....:or:is:.... ) :and: (...:!empty:.....)
//выражение and делит условие на 2 части, которые в конце в конце сравниваются к true
//Операторы:
// (is,=) , (not,!=) , (>,gt) , (<,lt) , (>=,gte) , (lte,<=) , (isempty,empty) , (not_empty,!empty) // (null, is_null) , (in_array, inarray, in) , (not_in,!in) //Выводить акцию только для товаров с ценой в диапазоне >300$ <=700$ [[if? &is=`[*price*]:>:300:and:[*price*]:<=:700` &then=`@TPL:akcia`]] //Выводить при кратности записи дитто 3 [[if?is=`[+ditto_iteration+]:%:3` &then=`true` &else=`false`]]

В ближайших планах у разработчиков версия 1.0.10

Читайте также: