Aleksandr Huz

Aleksandr Huz

Был в сети 04 ноября 2025, 21:25
Заказы принимаю
3. AjaxForm+Register — я так делал, способ простой, но грубый.
Теперь есть сложный и еще грубее, поздравляю!

Умный в гору не пойдет, умный гору обойдет!
Какая-то непонятная инструкция, какие-то непонятные манипуляции с исходниками. Только из статьи понятно, что это ajax регистрация/авторизация, а должно быть в заголовке.

Советую потратить побольше времени и сделать нормальный компонент.
Честно говоря, тут описывать особо нечего
1. Создаем файл
composer.json
2. Создаем файл bootstrap.php
3. Класс в папке model оставляем в таком виде
И соответсвенно создаем класс в папке src

Везде где нужно подключить наш сервис, пишем так:
/** @var ExtraFields $extrafields */
if ($modx->services instanceof Psr\Http\Client\ClientInterface) {
    $extrafields = $modx->services->get('extrafields');
} else {
    $extrafields = $modx->getService('extrafields', 'ExtraFields', MODX_CORE_PATH . 'components/extrafields/model/');
}

И рекомендовано использовать название класса вот так ExtraFields::class вместо 'ExtraFields'
Например:
$_modx->getObject(ExtraFields::class);

Вот и все, теперь наш компонент совместим с modx2 и 3.
И пока не вышла версия 3.3, то можно использовать старые название классов благодаря алиасам
Уже были PR и идеи от Васи, Сергея и других разработчиков, были ли они приняты? Нет, у авторов свое видение и куда оно привело? Пока выпускался modx3 много хороших разработчиков успели изменить свой стек и уйти. Поэтому, я не знаю про какие PR ты говоришь, чтобы пофиксить баги, то да, но что-то глобальное сомневаюсь.

Мне очень нравиться MODX и я продолжаю с ним работать, хоть уже не с таким энтузиазмом. Но мое мнение такое, что modx3 не нужно было выпускать, нужно было работать над modx4 и использовать современные технологии. А следовательно, такой шаг привлек бы много новых разработчиков, да и старые может быть вернулись. Но имеем, что имеем. Новая 'красивая' обертка, с той же начинкой (Ext.js 3.4)
Чтобы работало с msPromoСode2 нужно в файл
core/components/mspromocode2/plugins/mspc2msongetproductprice.class.php
добавить код:
$mspaidoptions = $this->modx->getService('mspaidoptions', 'msPaidOptions', MODX_CORE_PATH . 'components/mspaidoptions/model/');
if ($mspaidoptions) {
    $this->sp['price'] = $mspaidoptions->getPrice($this->sp['product'], $_REQUEST['options']);
}
после строчки:
$product = $this->sp['product'];
Ну да, это проблема была в предыдущей версии, вы ее обнаружили, я исправил. Спасибо.

Ну я, не пойму ваш негатив. Я всегда отвечал вам в этот же день, вы мне на следующий или через несколько дней. Может хотите показать переписку где я отвечал через несколько дней?

Далее, я писал вам 21 декабря, что приступил к решению проблемы. Вот цитата:
Фильтры на этой недели настрою и выпущу обновление.
Но вы через 3 дня написали
Спасибо делать не нужно
А обновление компонента вышло 27 декабря с решением проблемы. То есть в течении неделе, как я и писал.

Ну и на будущее, я могу на выходных не отвечать, на то они и выходные. Я могу заболеть, или по другим факторам не выйти на связь.
Я услышал. Сегодня будет демо сайт с доступом в админку.
Еще есть проблема с компонентом migx, он перестал устанавливаться автоматически.
Поэтому при установки данного компонента нужно будет установить migx самостоятельно.
Данный компонент делает поля для всех шаблонов? Т.е. разделять по шаблонам нельзя?
Это будет в след. версии.

К товарам в MS не применимо?
К свойствам товара нет.