[modDevTools] Версия 1.0.0-pl. Права и ресурсы


Доделал первоначальные задумки для дополнения, которое, надеюсь, поможет разработчикам быстрее и проще работать в админке MODX Revolution. Что компонент умеет на момент релиза стабильной первой версии:


На странице редактирования чанка добавляются вкладки, в которых можно изменять связанные объекты:
«Шаблоны» — код шаблонов, в которых выводится данный чанк. Если установлен Ace, появляется выделение чанка в коде шаблонов.
«Чанки» — код чанков, которые вызываются в данном чанке. Параметры сниппетов, указанные при вызове и по умолчанию, и которые являются чанками, тоже выводятся здесь.
«Сниппеты» — код сниппетов, которые вызываются в данном чанке. Под кодом сниппетов можно развернуть описание их параметров по умолчанию.
«Ресурсы» (новое в 1.0.0-pl) — список ресурсов, в шаблоне или контенте которых вызывается тем или иным образом данный чанк. Можно перейти на редактирование ресурса, открыть его в браузере, быстро изменить шаблон, статус публикации или удалить в корзину.

На странице редактирования шаблона добавляются следующие вкладки:
«Чанки» — код чанков, которые вызываются в данном шаблоне.
«Сниппеты» — код сниппетов, которые вызываются в данном шаблоне.
«Ресурсы» — список ресурсов с данным шаблоном.

На странице редактирования сниппета добавляется вкладка с ресурсами, в шаблоне или контенте которых вызывается данный сниппет.(новое в 1.0.0-pl)

На странице редактирования ресурса добавляются так называемые «Хлебные крошки» (BreadCrumbs).
Они сделаны на основе ExtJS-компонента хлебных крошек из установщика пакетов дополнений и вписываются в общее оформление админки независимо от версии. Так же хлебные крошки показываются в «Обзоре ресурса» (его можно увидеть при клике правой кнопки на ресурсе в дереве, или просто не имея прав на редактирование ресурса, но имея на просмотр). В этом случае переход на обзор ресурса родителя, а не на его редактирование. Поддерживаются контексты, т.е. в каком контексте ресурс, в этом контексте показываются и его родители.

Поиск и замена строк в чанках и шаблонах.
Для этого появился подраздел modDevTools в меню «Приложения». Все довольно просто. Вводите строку и нажимаете кнопку «Найти». Ниже есть фильтры в контенте каких элементов осуществлять поиск.
После того, как поиск произошел, выводится код всех найденных элементов с подсветкой искомой строки. Замена производится в каждом элементе отдельно. Для этого после кода элемента идет панель с 3 кнопками: «Заменить», «Заменить все» и «Пропустить».
Кнопка «Заменить» меняет искомую строку, на которой установлен курсор (более темная подсветка), на строку замены. Кнопка «Пропустить» передвигает курсор на следующее совпадение. После первоначального поиска можно изменить строку поиска, и тогда кнопки замены оперируют уже с этой новой строкой только для конкретного элемента, после которого они расположены.

Права пользователей для доступа к функциям modDevTools:
Компонент сам не добавляет, но во всю использует стандартные права пользователей.
view_chunk и view_template
Для доступа к разделу поиска и замены строк (пункт меню modDevTools)
save_chunk
Для замены строк в чанках в этом разделе.
save_template
Для замены строк в шаблонах в этом разделе.
view_chunk
Для показа вкладки «Чанки»
view_template
Для показа вкладки «Шаблоны»
view_snippet
Для показа вкладки «Сниппеты»
resource_tree
Для показа вкладки «Ресурсы»
edit_document
Для показа кнопки «Редактировать» в таблице на вкладке «Ресурсы»
save_document
Для изменения шаблона ресурса в таблице на вкладке «Ресурсы»
publish_document
Для изменения статуса публикации в таблице на вкладке «Ресурсы»
delete_document
Для удаления ресурса в корзину в таблице на вкладке «Ресурсы»
save_chunk/save_template/save_snippet
Используются стандартные процессоры MODX, поэтому для редактирования элементов нужны соответствующие права.
Внимание: нет поддержки групп ресурсов (пока?), т.е. если какая-то группа ресурсов скрыта от менеджера в админке, то он сможет ее увидеть в списке ресурсов элементов.

Дополнительная информация:
  • Если элемент, показывающийся в новых вкладках, находится в фокусе и изменен, то с помощью Ctrl-s сохраняется он, если не в фокусе — то родительский элемент (при этом изменения в дочернем потеряются).
  • Кнопка «Сохранить» у родительского элемента неактивна, если дочерний элемент оказывался в фокусе для предотвращения случайного сохранения. Включается переходом на другую вкладку.
  • Поддерживается AjaxManager
  • Поддерживаются версии MODX Revolution 2.3.x (в первую очередь, разработка ведется на нем) и 2.2.x (минимальная поддержка, только чтобы все работало и выглядело не совсем страшно).
  • Некоторые второстепенные функции поддерживаются только при наличии редактора Ace
В последней версии так же исправлена ошибка, когда после сохранения дочернего элемента переставала работать комбинация Ctrl-z.
Новая версия уже в репозитории SimpleDream. Заокеанские коллеги, в частности Райан Треш, попросили выложить и в официальный репозиторий, поэтому скоро компонент будет и там.
Документация, составленная из данного поста будет находиться в docs.modx.pro
Виталий Киреев
28 октября 2014, 09:28
modx.pro
4
4 979
+13

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

Сергей Шлоков
28 октября 2014, 13:16
0
Могучий комбайн. Хотя работаю в phpStorm, все равно возьму два :)
    Наумов Алексей
    28 октября 2014, 13:18
    0
    «Ресурсы» — список ресурсов с данным шаблоном.
    Проблем при наличии большого количества (>1 000, > 20 000) ресурсов не будет?..
      Виталий Киреев
      28 октября 2014, 13:30
      +1
      Там же табличка, которая по 20 штук выводит.
      Единственное при установке происходит поиск чанков и сниппетов в контенте. Тестировал на сайте с ~15000 ресурсов, заняло это 20 секунд.
      Антон Фомичёв
      28 октября 2014, 14:01
      0
      Виталий, это же просто праздник какой-то!
      Классная идея, классная реализация. Спасибо!
        Scorp Satex
        28 октября 2014, 16:10
        0
        Спасибо вам большое!
          Сергей Скат
          28 октября 2014, 17:51
          0
          отличная разработка, мне кажется со временем станет must have
            Василий Наумкин
            28 октября 2014, 20:07
            +1
            Да уже.

            Особенно, на незнакомых сайтах, где не знаешь структуру — только так теперь искать чанки.
              Сергей Скат
              29 октября 2014, 17:14
              0
              да уж, особенно, затем и понравился в свое время modx, в любой другой cms/cmf не разберешься в первые 5 минут, в modx более или менее если разраб был грамотный, а теперь так вообще, попробовал, теперь думаю а почему по умолчанию нет
            Wassi Wassinen
            29 октября 2014, 15:32
            0
            Маэстро, спасибо! :)
              Temp Name
              30 октября 2014, 09:24
              0
              Ооочень круто. Спасибо!
                Павел Левин
                31 октября 2014, 15:11
                0
                Не планируется ли делать кнопку просмотра ресурса в popup?
                Стандартная кнопка какая-то странная, завязана на скриптах, хотя действует как ссылка с target _blank.
                Александр Наумов
                01 ноября 2014, 20:34
                0
                Спасибо, классная вещь!!!
                  Иван Брежнев
                  01 ноября 2014, 22:18
                  0
                  Класс! В MODX чего-то такого очень не хватало!
                    Сергей Скат
                    02 декабря 2014, 15:03
                    +1
                    короче я в восторге, из за этой штуки совсем обленился, есть предложение можно ли добавить фичу, чтобы можно было чанки создавать прямо в шаблоне, залил шаблон и тут же порезал на чанки
                      Виталий Киреев
                      02 декабря 2014, 15:08
                      0
                      Я уже думал, как сделать, чтобы показывались «виртуальные» чанки, т.е. несуществующие, но прописанные в шаблоне. Хочу, чтобы и параметры в сниппетах учитывались, но там есть проблемы.
                        Сергей Скат
                        08 декабря 2014, 14:18
                        0
                        я имелл ввиду немного другое, я имею ввиду буквально создавать чанки во время накатывания шаблона, я понял что сильно раздражает разбивать шаблон на чанки в другом месте, и приходится постоянно прыгать из шаблона в чанки и обратно
                    Павел Ширяев
                    31 марта 2015, 00:07
                    +2
                    Это просто прекрасно! Бешено плюсую за столь удобную и нужную разработку. Распил шаблона на чанки стал быстрее в разы, не говоря уж о дальнейшей настройке. Утащил компонент в маст-хэв для каждой установки модэкса.
                      Владимир
                      12 мая 2016, 19:54
                      0
                      Очень интересует, планируется ли поддержка Fenom в modDevTools?
                        lexikon
                        18 августа 2016, 17:17
                        +1
                        прикрутите Fenom, плиз плиз плиз %)
                          Олег
                          03 ноября 2016, 14:41
                          +1
                          Поддерживаю, просим поддержку Fenom! Сейчас все пишу с его помощью, дополнение почти не работает!
                            Владимир
                            03 ноября 2016, 16:10
                            0
                            +100! давно прошу об этом)))
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                            25