Добавляем новые возможности
Сегодня утром неожиданно в голову постучалась мысль, что можно работать не только с тегами чанков и сниппетов. А так как в прошлом своем эксперименте я близко познакомился с парсером pdoParser, то решил привлечь его для работы. Теперь tagElementPlugin умеет обрабатывать и другие теги:
- [[~1]]
- [[%lexicon_entry]]
- [[++system_setting]]
- [[#1.pagetitle]]
Последний открывает огромные возможности для тех, у кого установлен pdoParser.
Новые возможности
Выделяя любой из этих тегов, в ответ можно получить значение этого тега (при условии, что парсер смог его получить). Выделять можно и со скобками и без скобок. Т.е. и так [[++site_name]]
и так [[++site_name]]
. Важно понимать, что такой тег [[~[[+id]]
или такой [[#[[*id]].introtext]]
парсер обработать правильно не сможет, так как ему нужно точное значение id. А вот такой [[#[[++site_start]].pagetitle]]
сможет.
Кроме того, вы можете получить значение из суперглобальных массивов
[[#POST.key]] [[#SESSION.another_key]] [[#GET.key3]] [[#REQUEST.key]] [[#SERVER.key]] [[#FILES.key]] [[#COOKIE.some_key]]
Подробнее про pdoParser можно прочитать тут.
Хочу обратить внимание, что тег [[%lexicon_entry]]
распарсится только в том случае, если загружен соответствующий лексикон. В большинстве случаев используется лексикон из сторонних дополнений. Чтобы парсер смог получить значение этого тега, нужно добавить в тег параметр namespace:
[[%lexicon_entry? &namespace=`namespace компонента`]]
Заключение
Теперь tagElementPlugin может получать правильное название тега из выделения. Т.е. можно выделить вот такой тег [[!mySnippet@propertySet? &m=`1`]]
и tagElementPlugin откроет диалог для сниппета mySnippet.
Вы должны авторизоваться, чтобы оставлять комментарии.
Комментарии ()