[tagElementPlugin] Добавляем новые возможности

Сегодня утром неожиданно в голову постучалась мысль, что можно работать не только с тегами чанков и сниппетов. А так как в прошлом своем эксперименте я близко познакомился с парсером 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.

Продолжение.
Предыдущий пост.

Полная документация.
Сергей Шлоков
Сергей Шлоков
10 октября 2015, 05:39
modx.pro
3 425
Поблагодарить автора Отправить деньги

Комментарии: 21

Сергей
10 октября 2015, 10:10
Сергей, может есть смысл объединить три компонента (tagElementPlugin, elementNotes, xbuttons) в один и назвать допустим DevElements?
    Сергей Шлоков
    10 октября 2015, 10:18
    У меня тоже была такая мысль объединить все в adminTools. Я её думаю пока.
      Сергей
      10 октября 2015, 10:22
      Ну adminTools звучит как то широко, как будто там должны быть еще dbAdmin и controlErrorLog :)
Сергей Шлоков
10 октября 2015, 19:22
Илья Уткин внес хорошее предложение — рекурсивные окна. Даже странно, что это не пришло мне в голову. В новой версии уже есть.
    Василий Столейков
    11 октября 2015, 15:48
    При несуществующем элементе предлагается создать его, но не подставляется в название выделенный текст.
    Это так и задумано, или можно это сделать?
    Василий Столейков
    22 октября 2015, 12:43
    При открытом окошке с редактированием элемента (например сниппета), когда находишься в контенте редактирования элемента, особенно когда Ace развёрнут на весь экран, нельзя никак перехватить сочетание клавиш Ctrl+S для сохранения именно окошка, а не той страницы, что открыта в фоне?
    А то постоянно забываю т.к. работаю с раскрытым редактором на всю страницу и пытаюсь сохранить через Ctrl+S, т.к. забываю что это в окошке…
    Василий Столейков
    05 февраля 2016, 15:19
    А есть возможность прицепить какую-то комбинацию нажатий для открытия елемента в новой вкладке?
      Сергей Шлоков
      05 февраля 2016, 21:48
      Подумаю.
        Klike
        22 мая 2018, 21:56
        Сергей, подскажи, пожалуйста, как заставить работать наиудобнейшую штуку с SimpleAceCodeEditor, тот же редактор Ace, (но без тормозов в Safari на Mac). Пробовал прописать принудительно в плагин название редактора – Ace, пробовал в JS скрипт прописывать вместо Ace » SimpleAceCodeEditor, но не хочет работать. Что я делаю не так?)
          Сергей Шлоков
          23 мая 2018, 09:21
          Приятно читать грамотную речь. В нынешнее время это редкость.

          По SimpleAceCodeEditor без понятия. Смотри как он подключается в плагине. Может это поможет.
      Odinokun
      27 августа 2017, 13:33
      У меня почему-то не работают hotkey tagElementPlugin, вообще никакие.
      Версия плагина 1.2.2-pl
      Использую редактор Ace.
      OS windows10

      Подскажите плз, в чем может быть причина.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        21