Vladimir Alekhin
С нами с 10 июля 2014; Место в рейтинге пользователей: #7218 часов назад
Вижу уже несколько заметок про эти mmx дополнения. Это какой-то отдельный вид дополнений, которые через установщик MODx не поставить?
mmxTwig - еще одна интеграция шаблонизатора 3
Вчера в 14:50
Спасибо!
Пробовал передать свой плейсхолдер — не работает такой подход.
Сейчас решение сделал в виде сниппета получающего id по pagetitle
cityFields внутри pdoResources и плейсхолдер id 2
Вчера в 10:27
Решил, зашёл в контексты, web, и там создал новый контекст site_url, и там внутри добавил значение своего сайта на https.
Имя и ключ: site_url
Зна...
При добавлении <base href="[[++site_url]]"/>, не работают стили. 6
13 мая 2024, 23:47
Искал ответ примерно на тот же вопрос. Мне нужно было сделать file.php который будет выводить определенный ресурс из modx. Вот, может, кому то пригоди...
Как получить HTML код всей страницы в сниппете? 10
13 мая 2024, 16:14
Путем ковыряния несколько часов поля, что взял заказ, с кучей костылей. Много старых пакетов написаных еще в 14 году, которые не работаю php 5.6 стоял...
Не добавляется запись в MIGX 1
13 мая 2024, 12:48
Установил компонент. PHP 7.4, Modx 2.8.4. Созданные кастомные поля юзера не отображаются, в логе ошибка:
No foreign key definition for parentClass: e...
ExtraFields. Дополнительные поля для ресурса (modResource) и пользователя (modUserProfile). 33
13 мая 2024, 11:21
[2024-05-13 11:18:51] (ERROR @ Unknown0) PHP warning: Unknown: Cannot call session save handler in a recursive mannerЗапись в базу работает, н...
Еще немного про сессии MODX, компонент smartSessions 73
13 мая 2024, 09:02
На странице есть описание, скриншоты и видео ролик. Посмотрите, есть ли там нужные вам функции.
Есть чтото в духе StarRating или LikeDislike для оценок пользователями для MODX3? 5
12 мая 2024, 18:28
Спасибо, если вдруг не получится воспроизвести – пиши, сделаю демку
PageBlocks. Удобное управление контентом сайта. 28
Сделал временное решение, но мне оно не очень нравится. описываю решение:
в папку которая указана в 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 что бы посчитать их количество и идти циклом?