Vladimir Alekhin
С нами с 10 июля 2014; Место в рейтинге пользователей: #7144 часа назад
Кстати говоря, я пока не встречал проблем скачивания на своих сайтах. Кроме случаев, когда изредка лагает репозиторий, и повторная попытка через пару ...
Инструкция: Настройка SOCKS5 прокси в MODX3 для работы с репозиторием 20
8 часов назад
Павел, спасибо за ответ. Скопировала код на сайт, но не работает.
Не работает пагинация pdoPage 2
27 января 2026, 21:17
Приветствую.
Есть несколько вопросов:
1. Без редактора Markdown — пост наверное будет простыней текста (как его преображать: тегами **Жирный текст**...
[IskTelega] - компонент для отправки публикаци в телеграм каналы. 8
27 января 2026, 19:07
Это отличные новости. Если и будет жизнь для интернет-магазинов на MODX — то только благодаря Вам
mFilter для MODX 3 - новое поколение. 6
24 января 2026, 13:12
Подскажите плз, старые версии еще могут быть как либо работо-способны?Нет
ms_CDEK2 возвращается! 63
23 января 2026, 22:15
Этот способ (через файл):
-работает если есть живой админ
-работает если он в группе
-работает если контекст manager не поломан
-работает если пол...
Почему в новых версиях MODX не работает сброс пароля через MD5 и как восстановить доступ в manager 6
23 января 2026, 19:18
На сайтах B и C пишешь плагин на событие OnDocFormSave. В этом плагин отправляешь запрос с помощью CURL с данными ресурса на сайт A. На сайте A обраба...
Сбор новостей с разных сайтах на один общий 1
22 января 2026, 04:41
Есть проблема с расширением, убирает из контекстного меню «Open with Live Server», с файлами шаблонов понятно это допустимо, хотя и не очень нужно, но...
Встречайте VSCode IntelliSense for MODX 39
Сделал временное решение, но мне оно не очень нравится. описываю решение:
в папку которая указана в basePath положил файл .htaccsess т.к. сервер на apache2 со строкой
Что запретило доступ к файлам по прямой ссылке всегда, но php имеет к ним доступ.
Поэтому создал сниппет с кодом:
Тут мы обращаемся к имени файла переданного в сниппет и выдаем его в буфер вывода с соответствующими заголовками.
Вызвал сниппет [[!file_download?&filename=`[[!#GET.fn]]`]] передал ему get параметр содержащий имя файла. Сниппет вызван на странице которая принадлежит группе ресурсов на которую настроен доступ только для авторизованных.
Вроде работает, но уверен есть решение лучше. Оставлю это тут, если кто-то будет искать подобное решение, и надеюсь что более опытные пользователи посмотрят решение и предложат лучшую альтернативу.
Плюсом в эту сторону было бы здорово и по CMPGenerator PRO более подробную документашку, помимо видео.
@Константин Ильин Есть решение?
Своя таблица:
и бесплатным CMPgenerator (из дефолтного репозитория) сделал бы обвязку для компонента.
Далее плагин на OnTemplateVarBeforeSave скорее всего (надо читать, что где доступно, что бы отловить изменения нужных tv) и создаем новый объект класса таблицы modx_tvvaluehistory и заполняем поля.
Пример работы с событием тут.
А выводить это на фронтенд уже можно чем угодно. Хоть вызвать pdoResources из пакета pdoTools. Такое решение, на мой взгляд будет оптимальным по трудозатраты/результат.
Более опытные члены комьюнити может подскажут решение получше.
Как вы такую задачу решаете?
на текущем плейграунде не было никаких чужих компонентов с подобной связкой, что бы подсмотреть.
xtype для combobox (путь: assets/components/МОЙКОМПОНЕНТ/js/mgr/widgets/МОЙГРИД.grid.js)
Код процессора (путь: core/components/МОЙКОМПОНЕНТ/processors/mgr/dbrresource/getlist.class.php):
Спасибо Наумову Алексею за столь ценную подсказку!
Я на другой комментарий задал вопрос. А как правильнее с точки зрения modx наследоваться от или
А как будет правильно, наследовать новый процессор от или создать новый процессор что-то вроде:
Сниппет который мы назовем: allgallery
Очень сильно сомневаюсь в грамотности решения с break; буду очень рад, если кто сможет подсказать, как лучше организовывать подобное.
p.s. Сниппет писал вчера, нужно было решение на скорую руку, сегодня смотрю на него, а у нас тут сложная операция по удалению гланд через ректальное отверстие.
Правильнее было бы получать итератор TemplateVarResources а по нему через getOne() получать ресурс. Тогда и костылей с break; не было бы, можно было использовать limit в newQuery. Хотя в этом случае столкнулся с проблемой выборки по parentid, скорее всего нужен сложный query с джойнами. сейчас попробуем.
Перепишу сниппет, выложу код, вдруг кому мои искания пригодятся.
Создал решение на скорую руку, где в таблицах (справочник статусов и справочник категорий) создал записи «Без категории» и «Без статуса», и назначил их ID как дефолтные.
Я правильно понимаю, что это нормальное решение, и вся моя ошибка в данном случае в неверном понимании принципа проектирования БД?
Это лог при вызове pdoResources.
А это при работе Console и запуска в нем кода из моего сниппета.
Если я правильно понимаю, то в первом случае мы подгружаем pdoTools и он уже создает xPDO запрос. А во втором случае мы используем стандартный механизм взаимодействия с xPDO modx через метод $modx->getObject()
Да, простите, я понимаю что вопрос был про решение через pdoTools а мой комментарий предлагает решение не через данный инструмент. Просто мне все еще трудно понимать. где лучше использовать готовые сниппеты, а где лучше писать свой. а комментарий с самописным сниппетом, для тех, кто вдруг будет потом искать решение подобной задачи. А то я знаю, как обидно найти в интернете то, как кто-то спросил пару лет назад как решить то, что тебе надо решить и последний комментарий в обсуждении:
Т.к. у нас готовый компонент с моделью, то для вывода всех полей в отдельные чанки можно обойтись без сниппета pdoResources/getResources.
Мой сниппет.
Хотелось бы понять какое решении более правильное? Консоль говорит что на выполнение данного сниппет ушло:
а подключение pdoTools конечно скушает немного памяти. Но я не уверен, что эта инфа из дополнения Console верна на 100%.
Буду очень рад, если кто выскажет комментарии по такому решению, и поправит, если что не так.
Плагин:
На событие OnMODXInit. Решение работает, письма о регистрации. смене пароля стали приходить.
Не знаю на сколько решение элегантное, но так мы не тянем те поля ресурса, что нам не нужны в память. работает быстро.
У меня не получается достучаться до значения, имени и ид всех ТВ ресурса.
Если мы добавим после вызова Графа
Я не получаю Объект содержащий все привязанные к данному ресурсу ТВшки.
Выполнить сначала GetCount что бы посчитать их количество и идти циклом?