- Заметки 61
- Комментарии 39
5 часов назад
вот этот сниппет
require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
$modx->getService...
Проблемы с отправкой писем статус заказа из minishop2 5
Вчера в 20:15
Хотел проверить еще раз, теперь все работает. Спасибо.
MiniShop3 1.0.0-alpha.4 — Большое обновление админки 24
05 января 2026, 14:53
Тоже не понял зачем эти сложности, всегда этот скрипт юзал.
Почему в новых версиях MODX не работает сброс пароля через MD5 и как восстановить доступ в manager 4
30 декабря 2025, 22:52
Почему-то прочитал это голосом комментатора из Дома 2… Только про Minishop 3!) Спасибо всем за вклад в развитие и, достаточно неплохие итоги года)
Итоги 2025 года на MODX.pro 3
27 декабря 2025, 16:41
MODX, как и любой основанный на PHP фреймворк пишет 500 ошибки в error_log. Никаких специальных настроек в нем нет. Все зависит от настроек хостинга\с...
Отладка 500 ошибки MODX 1
26 декабря 2025, 18:00
ух ты крутяк!
resComments — многоуровневые комментарии с пагинацией для ресурсов MODX3 2
24 декабря 2025, 22:11
Есть поле mail_smtp_user введи туда логин, если не сработает введи email. И не забудь в emailsender корректный email прописать.
Modx 2.8.8 еще подходит отправки почты через smtp.yandex.ru? 3
24 декабря 2025, 00:23
Нет, лайки всегда были привязаны ко времени публикации, чтобы лайками старых постов рейтинг не накручивали.
MiniShop3 - новый релиз. 1.0.0-alpha.2 15
Вешается на пару событий, может для вас что-то излишнее в нем, не знаю.
1. Настраиваем MIGx
1.1. Создаем таблицы в БД и объекты
— Ставим MIGx, как написано в документации к нему!
Я назвал этот «полукомпонент» xqa, все имена/префиксы делал с этим названием…
— Открываем MIGx в админке, и на первой вкладке создаем package xqa
— берем эту xml
и на вкладке xml schema ждем save, сохраняя ее.
— теперь создаем таблицы в БД на вкладке create Tables и создаем классы на вкладке parse Schema.
Таким образом мы получаем таблицу в БД и xpdo классы для работы с этой таблицей.
Структура моей таблицы:
1.2 Создаем MIGx настройку.
Идем в MIGx — вкладка MIGx (вторая вкладка с настройками)
Делаем новую xqa и по ней правой кнопкой — Экспорт/Импорт, вставляем следующий код:
Сохраняем и ради интереса жмем редактировать, смотрим какие поля и колонки у нас есть.
2. Делаем стандартную форму на Formit, в которой должны быть поля author, author_email, question. Как вы ее реализуете — ваши заботы.
Что важно для нас, у Formit указываем хук xQaAdd:
&hooks=`email,xQaAdd`
Хук email я тоже использую, что бы пришло администратору сайта уведомление «Добавлен новый вопрос...».
Код хука примерно такой, т.е. мы просто создаем новый объект xQa (вопрос):
3. Делаем TV поле с типом ввода migxdb, указываем Конфигурацию xqa (мы ее выше создавали), назначаем TV нужному шаблону.
У ресурса должна появится таблица:
4. Уведомление пользователя об ответе:
Создаем плагин notifyVisitors на событие OnDocFormSave:
Что делает плагин: при сохранении ресурса получаем все xQa, у которых стоит галочка «Оповестить автора об ответе», далее, например, отправляем письмо (я НЕ ПРИВОЖУ этот код, напишите его сами), ставим notify в 0.
1. Нужно создать класс-наследника msDeliveryInterface
2. Положить в /core/components/minishop2/custom/delivery/имякласса.class.php
3. Указать имя класса (не файла) в методе доставки, в админке.
Вот нашел рабочий код для кастомного класса:
В коде выше мы написали что у нас стоимость доставки при сумме заказа больше 10 т.р. = 0.
4. Дальше создаем свой класс заказа и прописываем имя в настройках минишопа, кладем его сюда
core/components/minishop2/custom/order/Имя класса.class.php
Содиржимое:
В коде вместо Имя класса, указываем свой.
5. Далее в чанке со строками вывода цены доставки (в нашем случае tpl.msOrder.delivery), оборачиваем плейсхолдер в
Вот и все, должно работать.
Всё что тебе нужно это исправить чанк с формой добавления комментария и чанк вывода комментария.
Например я сделал так — добавил вот этот скрипт в шаблоне:
github.com/javiertoledo/bootstrap-rating-input
Далее в форму комментария добавил такой код:
В чанк вывода такой:
Всё! Никаких изменений в код компонента вносить не нужно. Всё само подцепляется и работает.
плагин:
сниппет: