TemplateEdit 3 - или долой ManagerManager
С первых версий MODX из коробки шел плагин ManagerManager который позволял изменять внешний вид странички редактирования документов.
Через него делается много полезных вещей, и не только по перенести/переименовать/скрыть/ поле но и для более сложных вещей в виде кастомных ТВ параметров к примеру YMap или GMap.
Но собственно к чему это я? Давайте разберем зачем нам ManagerManager, что в нем плохого, зачем он нам и какие есть альтернативы!
Начнем с недостатков ManagerManager:
— Весь ManagerManager работает на JS, и это видно не вооруженным взглядом когда мы открываем страничку и видим как часть полей скрывается или переименовывается. Особенно остро это чувствуется когда много ТВ параметров это прям очень сильно видно.
— Сложно менять HTML странички редактирования документа (там до сих пор табличная верстка + нормально не работает адаптив ) Тоесть очень сложно говорить о переходе на тот же Bootstrap 4.1
ManagerManager решает 2 задачи:
— 1 Кастомные ТВ параметры.
— 2 Визуализация редактирования документа (Создание Табов, Секций, Переименование полей, скрытие полей и т д)
— 3 ManagerManager — хочеться вынести отдельным пунктом удобство и простоту с которой можно кастомизировать документ, всеми знакомый чанкт MM_rules где все просто и понятно
1 пункт закрыт, так как все без проблем решается через функционал CustomTV (Который для этого и был добавлен в ядро притом очень давно, хотя позже ManagerManager) и даже такие вещи как Gmaps и Ymaps давно реализованы в PlaceTV. А все остальное что нужно можно быстро написать.
2 пункт в целом тоже закрыт вот этим:
— modx.im/blog/addons/2375.html (templatesEdit — модуль и плагин для изменения вида документов в админ панели)
— modx.im/blog/addons/2764.html (templatesEdit2 — плагин для изменения вида документов в админ панели (облегчённая версия)
Но данное решение не пошло в масы и не сыскало большой популярности исключительно по причине того что там нужно потратить пару вечеров что б вникнуть как же это все настраивать + сложно запоминать.
И вот тут мы наконецто подошли к сути. Вот наконец-то есть отличное решение которое позволяет изменять поля документа вообще без надобности что то делать в конфигах (Хотя такая возможность есть и она открывает еще больше возможностей, но это нужно не всем). Вообщем предлагаю посмотреть вот эти пару видео, что б было понятно о чем идет речь.
youtu.be/1w0F22wMbdg
youtu.be/WRWa8jR7sbc
Замечу что по мимо удобства настраивания TemplatesEdit 3 добавляет очень интересный функционал и не только:
— Работает не на JS, — страничка редактирования товара открывается сразу в нужном виде, что быстрее и не видно как скрываются поля
— Есть возможность расположить более 1 поля в строке, этого ой как не хватало раньше в ТВ параметрах особенно
— Можно менять главные поля так как нужно, к примеру для поля longtitle поставить тип картинка
— Дает возможность переработать страничку на Bootstrap4 и сделать адекватную адаптивность этой часть админки
— Менять внешний вид инпутов, размер инпута, положения заголовка к инпуту
Теперь собственно пару слов почему данная статья в разделе Краундфандинг
Данное решение пилит Сергей Кочин (для тех кто не знает кто это: Автор внешнего вида Evo 1.3.0 + а так же многих фишек которые там реализованы)
В целом рано или поздно он его допилит, как видим он начал работу еще в 2014 и думаю что находиться на финишной прямой может еще очень долго. А мне очень хочеться данное решение видить в EVO 2.0 по умолчанию да и в ветке 1.4.* тоже. В связи с чем предлагаю собрать донат на то что б ускорить дату выхода данного решения.
Скидывать сюда:
Кошельки Dmi3yy (обязательно ставим пометку что для te3)
— ЯД 41001445059056
— Сбербанк 4817760159443807
— Приват24 4149 6258 1066 0850 (Для тех кто из Украины)
Чуть позжее добавлю Кошельки Сергея, как он их сообщит.
Через него делается много полезных вещей, и не только по перенести/переименовать/скрыть/ поле но и для более сложных вещей в виде кастомных ТВ параметров к примеру YMap или GMap.
Но собственно к чему это я? Давайте разберем зачем нам ManagerManager, что в нем плохого, зачем он нам и какие есть альтернативы!
Начнем с недостатков ManagerManager:
— Весь ManagerManager работает на JS, и это видно не вооруженным взглядом когда мы открываем страничку и видим как часть полей скрывается или переименовывается. Особенно остро это чувствуется когда много ТВ параметров это прям очень сильно видно.
— Сложно менять HTML странички редактирования документа (там до сих пор табличная верстка + нормально не работает адаптив ) Тоесть очень сложно говорить о переходе на тот же Bootstrap 4.1
ManagerManager решает 2 задачи:
— 1 Кастомные ТВ параметры.
— 2 Визуализация редактирования документа (Создание Табов, Секций, Переименование полей, скрытие полей и т д)
— 3 ManagerManager — хочеться вынести отдельным пунктом удобство и простоту с которой можно кастомизировать документ, всеми знакомый чанкт MM_rules где все просто и понятно
1 пункт закрыт, так как все без проблем решается через функционал CustomTV (Который для этого и был добавлен в ядро притом очень давно, хотя позже ManagerManager) и даже такие вещи как Gmaps и Ymaps давно реализованы в PlaceTV. А все остальное что нужно можно быстро написать.
2 пункт в целом тоже закрыт вот этим:
— modx.im/blog/addons/2375.html (templatesEdit — модуль и плагин для изменения вида документов в админ панели)
— modx.im/blog/addons/2764.html (templatesEdit2 — плагин для изменения вида документов в админ панели (облегчённая версия)
Но данное решение не пошло в масы и не сыскало большой популярности исключительно по причине того что там нужно потратить пару вечеров что б вникнуть как же это все настраивать + сложно запоминать.
И вот тут мы наконецто подошли к сути. Вот наконец-то есть отличное решение которое позволяет изменять поля документа вообще без надобности что то делать в конфигах (Хотя такая возможность есть и она открывает еще больше возможностей, но это нужно не всем). Вообщем предлагаю посмотреть вот эти пару видео, что б было понятно о чем идет речь.
youtu.be/1w0F22wMbdg
youtu.be/WRWa8jR7sbc
Замечу что по мимо удобства настраивания TemplatesEdit 3 добавляет очень интересный функционал и не только:
— Работает не на JS, — страничка редактирования товара открывается сразу в нужном виде, что быстрее и не видно как скрываются поля
— Есть возможность расположить более 1 поля в строке, этого ой как не хватало раньше в ТВ параметрах особенно
— Можно менять главные поля так как нужно, к примеру для поля longtitle поставить тип картинка
— Дает возможность переработать страничку на Bootstrap4 и сделать адекватную адаптивность этой часть админки
— Менять внешний вид инпутов, размер инпута, положения заголовка к инпуту
Теперь собственно пару слов почему данная статья в разделе Краундфандинг
Данное решение пилит Сергей Кочин (для тех кто не знает кто это: Автор внешнего вида Evo 1.3.0 + а так же многих фишек которые там реализованы)
В целом рано или поздно он его допилит, как видим он начал работу еще в 2014 и думаю что находиться на финишной прямой может еще очень долго. А мне очень хочеться данное решение видить в EVO 2.0 по умолчанию да и в ветке 1.4.* тоже. В связи с чем предлагаю собрать донат на то что б ускорить дату выхода данного решения.
Скидывать сюда:
Кошельки Dmi3yy (обязательно ставим пометку что для te3)
— ЯД 41001445059056
— Сбербанк 4817760159443807
— Приват24 4149 6258 1066 0850 (Для тех кто из Украины)
Чуть позжее добавлю Кошельки Сергея, как он их сообщит.
22 комментария
У которого собственный формат хранения данных. И если таких полей у сайта много, и они достаточно сложные (по 5-6 элементов в каждой строке), то написать конвертер для переноса в тот же multiTV порой труднее, чем оставить все как есть.
Да и документация у ManagerManager отличная.
Так самое правильное решение это ддмультиплифиелд сделать полноценным customTV не привязанным к манагерманагер, там в целом работы на пару часов не больше.
Я вообще за то что б было все максимально просто и понятно и можно было навыки потом применять в других местах. Но это я уже в целом про 2.0, как пример тот же блейд с которым легко познакомится в ево а потом использовать в ларавель.
Про customTV опять-таки днем с огнем толковой документации не найти. Поэтому мудохаюсь пока либо с поддержкой существующего формата, либо с конвертером в multiTV для каждого сайта. Но multiTv все же визуально сильно проигрывает ddmultiplefields, все-таки компактность и юзабилити у этого компонента лучше выражены.
github.com/extras-evolution/choiceTV/blob/master/assets/tvs/choicetv/choicetv.customtv.php
Все что нам надо и у нас есть это по факту 2 переменные
$field_id
$field_value
И инпут скрытый или нет такого вида:
А ну и называем правильно по той маске что в примере что б тв сама подтягивалась в селекте выбора типа тв
github.com/extras-evolution/choiceTV/blob/master/assets/tvs/multi_choi/multi_choi.customtv.php
github.com/extras-evolution/PlaceTV/blob/master/assets/tvs/placetv/placetv.customtv.php
github.com/Pathologic/Selector/blob/master/assets/tvs/selector/selector.customtv.php
Вот вам пример создания своего ТВ www.youtube.com/watch?v=JCmRU0r_Ago
Создал такую папку и файл с содержанием:
Заработало.
2. Для него добавляеш событие OnDocFormTemplateRender
3. Пишеш в плагине
if($modx->event->name == 'OnDocFormTemplateRender'){
//есть tv tovarparams — будем его стилизовать
$style = file_get_contents(MODX_SITE_URL. 'assets/snippets/eFilter/html/tovarparams_style.tpl');
$output = $modx->parseText($style, array('param_tv_id' => $param_tv_id));
$modx->event->output($output);
}
Только еще нужно сделать проверку на наличие тв
joxi.ru/v29kMz4SZx8LRr
изменил в templatesedit.class.php
и в element.tpl.php добавил
теперь стрелочки как надо отображаются
'settings'=>[
'title'=>'Информация о владельце'
],
],
Создаю секцию, а в заголовок такое кидаю
Очень удобная считалка, если есть ограничения в количестве символов, например в YML элемент sales_notes — длина текста должна быть не более 50 символов.