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 (Для тех кто из Украины)

Чуть позжее добавлю Кошельки Сергея, как он их сообщит.

12 комментариев

avatar
Достаточно много сайтов сделано с использованием ddMultipleFields.
У которого собственный формат хранения данных. И если таких полей у сайта много, и они достаточно сложные (по 5-6 элементов в каждой строке), то написать конвертер для переноса в тот же multiTV порой труднее, чем оставить все как есть.

Да и документация у ManagerManager отличная.
avatar
Собственный формат хранения это еще 1 минус в сторону МанагерМанагер, ибо json отличный формат с которым удобно работать + всем понятный.

Так самое правильное решение это ддмультиплифиелд сделать полноценным customTV не привязанным к манагерманагер, там в целом работы на пару часов не больше.

Я вообще за то что б было все максимально просто и понятно и можно было навыки потом применять в других местах. Но это я уже в целом про 2.0, как пример тот же блейд с которым легко познакомится в ево а потом использовать в ларавель.
avatar
Так понятно, что минус, но на нем очень много сайтов сделано.
Про customTV опять-таки днем с огнем толковой документации не найти. Поэтому мудохаюсь пока либо с поддержкой существующего формата, либо с конвертером в multiTV для каждого сайта. Но multiTv все же визуально сильно проигрывает ddmultiplefields, все-таки компактность и юзабилити у этого компонента лучше выражены.
avatar
Логично было бы взять лучшее с 2х решений и сделать нормальное одно. Но на деле это никому не надо :/
avatar
Документацию хотя бы для customTV раздобыть… Так может и сделали бы толковый компонент.
avatar
А любой открыть и глянуть?
github.com/extras-evolution/choiceTV/blob/master/assets/tvs/choicetv/choicetv.customtv.php

Все что нам надо и у нас есть это по факту 2 переменные
$field_id
$field_value
И инпут скрытый или нет такого вида:

<input class="choicetv" type="text" name="tv'.$field_id.'" id="tv'.$field_id.'" value="'.$field_value.'" />
avatar
Собственно все дальше у нас есть чистая php + modxapi делай нехочу

А ну и называем правильно по той маске что в примере что б тв сама подтягивалась в селекте выбора типа тв
avatar
Документацию не обещаю, но, если собрались делать что-то, знаний вполне должно хватить для анализа var_dump() в подключенном файле.
Вот вам пример создания своего ТВ www.youtube.com/watch?v=JCmRU0r_Ago
avatar
Закинул на такое дело всё что было на Я.Деньгах!)) Было правда не много, но от всей души ребята! Всех с днём трудящихся)
  • EGO
  • +1
avatar
Подскажите в чем может быть проблема ManagerManager: An error has occurred: TypeError — Cannot read property 'tabPage' of null?
avatar
Попробовал поставить на 2.0.0 alpha. На странице редактирования ресурса выдало ошибку
Error : include_once(...../manager/includes/functions/tv.php): failed to open stream: No such file or directory

Создал такую папку и файл с содержанием:
<?php
include_once MODX_BASE_PATH . 'core/functions/tv.php';

Заработало.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.