Готовые решения
modResourceField. Упрощаем работу с TV часть 2.
Не так давно Сергей Шлоков написал статью Упрощаем работу с TV. Видно, что технология эта вызвала интерес у общественности, но данная реализация имеет очень много подводных камней. Сам я это все копаю уже очень давно, не фуллтайм, но сталкивался. В результате на свет появились две довольно объемные заметки (раз и два). Если кто не поленится прочитать, думаю, сможет представить, сколько много тонкостей там имеется. С некоторыми из них Сергей в процессе столкнулся. Но это не все еще имеющиеся проблемы. Попробую перечислить основные.
Необходимость задачать разные имена колонок и ТВшек.
Это Сергей у себя в топике описывал, не буду вдаваться в подробности.
Дублирование значений в виде ненужных запией в таблицу ТВшек.
Гвоздь (сорри, не знаю имени), написал в комментарии про эту проблему и привел плагин, решающий ее, но на это никто не отреагировал (видимо, мало кого заинтересовало решение, в несколько раз превосходящее по объему предложенный продукт).
Необходимость задачать разные имена колонок и ТВшек.
Это Сергей у себя в топике описывал, не буду вдаваться в подробности.
Дублирование значений в виде ненужных запией в таблицу ТВшек.
Гвоздь (сорри, не знаю имени), написал в комментарии про эту проблему и привел плагин, решающий ее, но на это никто не отреагировал (видимо, мало кого заинтересовало решение, в несколько раз превосходящее по объему предложенный продукт).
Tickets. Авто ориентация при загрузке.
Заметил на одном из своих сайтов, что изображение, добавленные через фронт компонентом Тикетс иногда имеют неправильную ориентацию. При разбирательстве оказалось что программы для просмотра современных операционных систем (если не ошибаюсь, начиная с Windows 8) автоматически определяют ориентацию jpeg изображений на основе записи Orientation в EXIF и пользователь просто не видит что изображение находится «вверх ногами» и загружает его без исправления.
Упрощаем работу с TV
Продолжая тему, начатую Василием, предлагаю решение для упрощения работы с TV. Оно поможет тем, у кого логика сайта завязана на TV — запросы, фильтры и т.п.
Решается эта задача созданием полей в таблице ресурсов и копированием в них значений TV.
Решается эта задача созданием полей в таблице ресурсов и копированием в них значений TV.
Добавление тегов с фронта через форму Tickets
Здравствуйте. Не судите строго, пишу скорее как памятку для себя, но может быть кому пригодится.
Простое решение для добавления тегов с фронта в форму Tickets.
Простое решение для добавления тегов с фронта в форму Tickets.
Content Editor Tools
Я решил немного облегчить себе жизнь и сделал 2 плагина (на самом деле 3) для работы с контентом из админки. Этот набор плагинов я назвал Content Editor Tools, чтоб не путать их с похожими имеющимися.
Первое, это Rich Text Editor. Тут на выбор: TinyMCE или CKEditor. Второе: AssetsTV — это для работы с файлами. Пока всё в статусе беты.
Первое, это Rich Text Editor. Тут на выбор: TinyMCE или CKEditor. Второе: AssetsTV — это для работы с файлами. Пока всё в статусе беты.
Добавление модификаторов Fenom
Задался вопросом добавления своих модификатором в парсер Fenom для modx.
Из этого вышел простой модификатор |days, который правильно склоняет «дней», «дня», «день».
вызывать так:
Из этого вышел простой модификатор |days, который правильно склоняет «дней», «дня», «день».
вызывать так:
{$dayscount|days}
Расширение любых таблиц MODX
В очередной раз понадобилось изменить таблицу сайта, менять которую не предусмотрено.
Что обычно люди делают в таких случаях? Верно, редактируют ядро или нужный компонент, и больше их не обновляют. Но ведь это неправильно, и можно решить вопрос иначе.
Пишем обычный плагин, выставляем для него событие OnMODXInit и меняем модель для нужных классов системы или дополнений. Например, я добавил id менеджера в заказ miniShop2:
Что обычно люди делают в таких случаях? Верно, редактируют ядро или нужный компонент, и больше их не обновляют. Но ведь это неправильно, и можно решить вопрос иначе.
Пишем обычный плагин, выставляем для него событие OnMODXInit и меняем модель для нужных классов системы или дополнений. Например, я добавил id менеджера в заказ miniShop2:
Отображение тикета в админке
Появилась бы отдельностоящая версия TicketComments, чтоб можно было бы просто комментарии цеплять к обычным ресурсам (или товарам) — было бы мне счастье. Но пока так. И в том виде, в котором сейчас существует Tickets меня напрягает одна вещь — то как тикеты отображаются в админке.
Поле с контентом становится очень узким, чтоб в правой части экрана отобразись дополнительные поля. Та же история в Articles, кстати. Зачем оно так мне совершенно не понятно. Поэтому я залез своими грязными лапами в файлик ticket.common.js (/assets/components/tickets/js/mgr/ticket/), чтоб сделать тикеты внешне похожими на обычные ресурсы modx.Так как я вообще ни разу не программист, получилось у меня это сделать не до конца: выбрать автора тикета теперь не получится, но в остальном вроде норм.
Теперь контент отображается как обычно: снизу и на всю ширину. Настройки страницы в соответствующей вкладке, комментарии в отдельной.
Собственно, вот мой ticket.common.js: yadi.sk/d/ytW6fEy3o6vgF
Поле с контентом становится очень узким, чтоб в правой части экрана отобразись дополнительные поля. Та же история в Articles, кстати. Зачем оно так мне совершенно не понятно. Поэтому я залез своими грязными лапами в файлик ticket.common.js (/assets/components/tickets/js/mgr/ticket/), чтоб сделать тикеты внешне похожими на обычные ресурсы modx.
Теперь контент отображается как обычно: снизу и на всю ширину. Настройки страницы в соответствующей вкладке, комментарии в отдельной.
Собственно, вот мой ticket.common.js: yadi.sk/d/ytW6fEy3o6vgF