[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
2 315
+4
Поблагодарить автора Отправить деньги

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

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

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

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