[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
6 047
Реклама

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

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

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