[tagElementPlugin] Добавляем новые возможности
Сегодня утром неожиданно в голову постучалась мысль, что можно работать не только с тегами чанков и сниппетов. А так как в прошлом своем эксперименте я близко познакомился с парсером pdoParser, то решил привлечь его для работы. Теперь tagElementPlugin умеет обрабатывать и другие теги:
Выделяя любой из этих тегов, в ответ можно получить значение этого тега (при условии, что парсер смог его получить). Выделять можно и со скобками и без скобок. Т.е. и так [[++site_name]] и так ++site_name.
Важно понимать, что такой тег [[~[[+id]] или такой [[#[[*id]].introtext]] парсер обработать правильно не сможет, так как ему нужно точное значение id. А вот такой [[#[[++site_start]].pagetitle]] сможет.
Кроме того, вы можете получить значение из суперглобальных массивов
Хочу обратить внимание, что тег [[%lexicon_entry]] распарсится только в том случае, если загружен соответствующий лексикон. В большинстве случаев используется лексикон из сторонних дополнений. Чтобы парсер смог получить значение этого тега, нужно добавить в тег параметр namespace:
Теперь tagElementPlugin может получать правильное название тега из выделения. Т.е. можно выделить вот такой тег
Продолжение.
Предыдущий пост.
Полная документация.
- [[~1]]
- [[%lexicon_entry]]
- [[++system_setting]]
- [[#1.pagetitle]]
Теперь подробнее
Выделяя любой из этих тегов, в ответ можно получить значение этого тега (при условии, что парсер смог его получить). Выделять можно и со скобками и без скобок. Т.е. и так [[++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.Продолжение.
Предыдущий пост.
Полная документация.
Поблагодарить автора
Отправить деньги
Комментарии: 21
Сергей, может есть смысл объединить три компонента (tagElementPlugin, elementNotes, xbuttons) в один и назвать допустим DevElements?
У меня тоже была такая мысль объединить все в adminTools. Я её думаю пока.
Ну adminTools звучит как то широко, как будто там должны быть еще dbAdmin и controlErrorLog :)
Поэтому пока и думаю в пассивном режиме. :)
Можно объединить два названия в ElementTools.
А это действительно был бы мощный компонент. )
Илья Уткин внес хорошее предложение — рекурсивные окна. Даже странно, что это не пришло мне в голову. В новой версии уже есть.
При несуществующем элементе предлагается создать его, но не подставляется в название выделенный текст.
Это так и задумано, или можно это сделать?
Это так и задумано, или можно это сделать?
Ответ тут.
ОК, спасибо!
При открытом окошке с редактированием элемента (например сниппета), когда находишься в контенте редактирования элемента, особенно когда Ace развёрнут на весь экран, нельзя никак перехватить сочетание клавиш Ctrl+S для сохранения именно окошка, а не той страницы, что открыта в фоне?
А то постоянно забываю т.к. работаю с раскрытым редактором на всю страницу и пытаюсь сохранить через Ctrl+S, т.к. забываю что это в окошке…
А то постоянно забываю т.к. работаю с раскрытым редактором на всю страницу и пытаюсь сохранить через Ctrl+S, т.к. забываю что это в окошке…
Почему нельзя, можно.
Добавил сочетания Ctrl+S и Ctrl+Shift+S. Обновляйтесь.
Круто! Спасибо — реально должно сохранить нервы… )))
P.S. Админка обновление не видит, возможно дойдёт ещё…
P.S. Админка обновление не видит, возможно дойдёт ещё…
Так и не появилась?
Уже есть, спасибо, всё супер!
А есть возможность прицепить какую-то комбинацию нажатий для открытия елемента в новой вкладке?
Подумаю.
Сергей, подскажи, пожалуйста, как заставить работать наиудобнейшую штуку с SimpleAceCodeEditor, тот же редактор Ace, (но без тормозов в Safari на Mac). Пробовал прописать принудительно в плагин название редактора – Ace, пробовал в JS скрипт прописывать вместо Ace » SimpleAceCodeEditor, но не хочет работать. Что я делаю не так?)
Приятно читать грамотную речь. В нынешнее время это редкость.
По SimpleAceCodeEditor без понятия. Смотри как он подключается в плагине. Может это поможет.
По SimpleAceCodeEditor без понятия. Смотри как он подключается в плагине. Может это поможет.
У меня почему-то не работают hotkey tagElementPlugin, вообще никакие.
Версия плагина 1.2.2-pl
Использую редактор Ace.
OS windows10
Подскажите плз, в чем может быть причина.
Версия плагина 1.2.2-pl
Использую редактор Ace.
OS windows10
Подскажите плз, в чем может быть причина.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.