Всего 125 377 комментариев

Сергей
04 февраля 2025, 13:32
0
К сожалению чудо работает ровно до того момента, пока я не сохраню ресурс. После этого настройка из прав просто удаляется. Что то с настройкой прав на 3й версии все очень сложно(
Наумов Алексей
04 февраля 2025, 11:20
0
Что-то думается, лучше всего сделать копию сниппета pdoPage и добавить нужный код по аналогии с обработкой параметра setMeta.
Сергей
04 февраля 2025, 09:39
0
Спасибо за подробный ответ.
Артур Шевченко
03 февраля 2025, 19:10
0
Никакой связи с компонентом msoptionprice2 FlatFilters не имеет. FlatFilters работает так
1. Ты создаешь кофиг, где перечисляешь по каким полям хочешь фильтровать
2. Компонент создаёт новую таблицу с этими полями и сохраняет туда данные всех подходящих товаров
3. Ты с фронта передаёшь значения фильтров, компонент возвращает список подходящих id. У тебя есть возможность указывать какой сниппет будет рендерить данные товаров по полученному списку id.
Артур Шевченко
03 февраля 2025, 12:45
+1
Возможность, конечно же, есть. Это бесплатный компонент с открытым исходным кодом. На сайте modstore есть ссылка на репозиторий GitHub откуда можно скачать zip-архив и загрузить его в админку.
Сергей
03 февраля 2025, 11:31
0
Артур, ответьте пожалуйста на вопрос) Заранее спасибо.
Наумов Алексей
03 февраля 2025, 09:23
0
Привет! Да, надо проверить… У объявленной с помощью var переменной область видимости может быть выше, может в этом дело… ну и остальной код скорректирую, добавлю проверок.
Антон А.
03 февраля 2025, 08:22
0
У себя я переписал так:
let inputGroup = form.querySelector('[name="' + error.field + '"]');
if (inputGroup) {
            inputGroup.closest(easyComm.selectors.inputParent).classList.add(easyComm.classes.hasError);
}
Антон А.
03 февраля 2025, 06:59
0
По поводу сообщения для капчи. Тоже если вернуть старый код на jQuery, то работает.
Старый код:
jQuery(form).find('[name="' + error.field + '"]').closest('.form-group').addClass('has-error');
Новый код, не работает для Капчи:
var inputGroup = form.querySelector('[name="' + error.field + '"]').closest(easyComm.selectors.inputParent);
if (inputGroup) {
    inputGroup.classList.add(easyComm.classes.hasError);
}
Павел Гвоздь
02 февраля 2025, 17:25
0
Есть скрины шагов, но нет итогового скрина, что получилось. С демо картинкой веселее.
Николай Савин
02 февраля 2025, 13:37
0
Очень хороший комплексный материал. Низкий поклон. Давненько такого не было.
Антон
02 февраля 2025, 12:49
0
Привязываю к tickets для загрузки и последующего редактирования того, что загрузил через фронт.
Вызов стандартный
[[!ufForm?
   &tplForm=`uf.form`
   &list=`image`
   &anonym=`0`
   &dropzone=`{"maxFilesize":3,"maxFiles":3,"acceptedFiles":".jpg, .jpeg, .gif, .png","template":"edit"}`
]]
в тиккетс в &allowedFields добавил ufForm, вместо загрузки файлов выводит текст:

Drop files here or click to upload
Select files
Виктор
01 февраля 2025, 21:57
+1
Понял, спасибо! В целом, манипуляции с css проблему решают. Сама капча работает корректно
Павел Гвоздь
01 февраля 2025, 11:15
0
Если мы донастроим момент с подарочными сертификатами из нового функционала дополнения, то получается клиенту добавятся бонусы на счет, но вариант списания все равно 20% останется же, для нашего случая верно же понимаю?
Верно!

Т.е. нельзя разделить это как то на 2 вида, обычные бонусы и подарочные бонусы, которыми например можно оплатить все 100%?
Нельзя.
Антон А.
01 февраля 2025, 10:02
0
У меня на Modx 3.0.6 (версия easyComm 3.6.0-pl) не хотела появляться GoogleRecaptcha на форме. А точнее скрипт Рекапчи не видел callback-функцию easyCommReCaptchaCallback. Но если вручную запустить эту функцию в консоли браузера после загрузки страницы, то все запускается и капча появляется.
Решил проблему так:
В новом ec.js easyCommReCaptchaCallback объявляется с помощью let. Хотя в предыдущих версиях скрипта было var easyCommReCaptchaCallback. Поменял let на var и все стало работать как надо.

И еще в стандартной форме, если не пройти Рекапчу (не поставить галочку) и попробовать отправить форму, то никакой ошибки не выходит, а в консоли ошибка
Uncaught TypeError: Cannot read properties of null (reading 'closest')
    at xmlHttpRequest.onreadystatechange (ec.js:74:104)
Может надо выдавать предупреждение, что капча не пройдена.
Андрей Шевяков
01 февраля 2025, 08:46
0
Добрый день!
Бонус-коды – это подарочные купоны/карты или сертификаты, которые единоразово вводятся юзером на фронтенде в личном кабинете, после чего сумма бонус-кода попадает на бонусный счёт юзера.

Например, вы можете вознаграждать своих покупателей N-ной суммой в виде купона, который они будут вводить в своём личном кабинете и использовать полученную сумму бонусов на будущую покупку. Также можно замотивировать пользователей поскорее потратить этот активированный бонус, указав в системной настройке msb2_lifetime_for_bonus его (coupon_accrual) время жизни, например в течение 1 недели.
Вопрос:

Это отличный вариант, чтобы делать вариант Подарочных сертификатов на сайте. Но не понятен момент, можно ли для них выставлять параметр «Максимальный процент корзины»?

Пример:

У нас на сайте бонусами можно оплатить 20% от стоимости заказа.


Если мы донастроим момент с подарочными сертификатами из нового функционала дополнения, то получается клиенту добавятся бонусы на счет, но вариант списания все равно 20% останется же, для нашего случая верно же понимаю?

Т.е. нельзя разделить это как то на 2 вида, обычные бонусы и подарочные бонусы, которыми например можно оплатить все 100%?