Выход MODx Evolution 1.0.9
Сегодня вышел MODx Evolution 1.0.9.
Основная проблема которую решает данный релиз, это совместимость с php 5.4. Помимо исправления старых багов, добавление новых приколов которые уже давно всем были нужны. Более подробнее об изменениях можно прочитать в changelog. Хочется выделить некоторые из них.
Значительная переработка парсера:
[[SnippetA? ¶m1=
value
//можно оставлять комментарии
¶m2=value ¶m3='value'
¶m4="value" // любые кавычки или без кавычек а не только
¶m5=[[SnippetB]]
// нет конфликтов при вызове сниппета в сниппете
¶m6=A&B=C?
//используем любые символы в параметрах ]]
Появление бекап менеджера:
Добавлен Сниппет 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