Всего 123 799 комментариев

Артур Шевченко
05 февраля 2023, 18:31
+1
Удалить текст сообщения на событие afl-complete и уведомление показано не будет.
kudesia
05 февраля 2023, 16:31
0
Ну в корзине надбавка показывается же только при выборе этого способа оплаты
А в письме будет в любом случае подсчет?
Ivan
05 февраля 2023, 16:06
0
ну точнее success нужно изменить)
Ivan
05 февраля 2023, 15:15
0
Как отключить показ уведомлений с ошибками? В ajaxform делалось вот так
$(document).ready(function() {
        // Removing AjaxForm success message
        if (typeof(AjaxForm) != 'undefined') {
            AjaxForm.Message.success = function() {};
        }
    });
Спасибо. Компонент крутой. А то из-за ajaxform приходилось тянуть jquery(
Ivan
05 февраля 2023, 15:07
0
Чет не корректно работает проверка чекбокса data-afl-required. Я лучше тогда проверять буду по старинке вот так:
<input type="hidden" name="check[]" value="" />
        <input type="checkbox" id="modal-check" name="check[]" checked>
        <label for="modal-check">
            Я даю сошласие на обработку своих <a href="{14 | url}">персональных данных</a>
        </label>
Артур Шевченко
05 февраля 2023, 13:40
0
virtualpage но хз как оно работает. Ну и с помощью ZoomX можно свои роуты создать
kudesia
05 февраля 2023, 12:43
0
Результат тот же joxi.ru/RmzROJWCVVPaRm
Все остается, как и было.
Павел Бигель
04 февраля 2023, 22:38
+2
Вместо портянки курла с которой еще и запросто можно ошибиться лучше использовать встроенный http client в MODX
modx.pro/howto/18715
Zulya
04 февраля 2023, 21:30
0
Алексей, данный вариант сработал. Огромное вам спасибо за помощь в решение данной задачи.
Артур Шевченко
04 февраля 2023, 15:58
0
Если скрипты ваши подключаются без type=«module», то в отдельный файл.
Maks
04 февраля 2023, 14:42
0
А куда это прописать что бы переопределить?
Алексей Смирнов
04 февраля 2023, 14:01
1
+1
ну у вас по этому условию:
[[!#GET.str:ne=`0`:then=``:else=`-`]]  // тут не равно 0
Будет срабатывать, если ресурс не равен 0. те всегда.
Если вы хотите чтобы срабатывало, то следует использовать другое сравнение:
[[!#GET.str:gte=`0`:then=``:else=`-`]]  // больше или равно
Таким образом:
[[[[!#GET.str:gte=`0`:then=``:else=`-`]]$showformreview]]
[[[[!#GET.str:gte=`0`:then=`-`:else=``]]pdoResources? &parents=`56` &depth=`0` &tpl=`liststr` &tplWrapper=`wrappchunk`]]
Надеюсь, что этот вариант сработает.
Zulya
04 февраля 2023, 13:44
0
В адресной строке открывается site.ru/add-review/?str=20
20 — это id ресурса, для которого будет написан отзыв. На сайте много ресурсов, в которых есть отзывы. Для каждого ресурса можно написать отзыв.
Форма easyComm у меня отделена от страницы отзывов и размещена как отдельная страница.
Поэтому с помощью ?str= передается id для которой форма отзывов easyComm будет привязана.

Если страница открывается без хвостов, т.е так site.ru/add-review/
то выводим текст: Пожалуйста, выберите ресурс для написания отзыва! и список ресурсов, который подготовлен с помощью запроса pdoResources. А форму не выводим.

Если страница открывается с хвостом, т.е site.ru/add-review/?str=N*
то выводим форму easyComm, которая находится в чанке showformreview.
N* — это может быть любая цифра. А текст выберите ресурс и список ресурсов скрываем.
Артур Шевченко
04 февраля 2023, 12:31
0
Компонент генерирует JS событие afl-complete. Повесьте на него обработчик, в котором вызовите метод закрытия окна.
Для минишоп можно как то сделать что бы сообщения подтягивались с вашего дополнения?
Не совсем понятно, что имеется в виду, но предположим, что речь об уведомлениях. Если вы используете новый комплект JS скриптов, то там точно такие же уведомления. Если используете стандартный, то нужно переопределить объект Message.
import AflIziToast from './../components/ajaxformitlogin/js/modules/aflizitoast.class.js';

document.addEventListener('DOMContentLoaded', (e) => {
    if (typeof miniShop2 !== 'undefined') {
        miniShop2.Message = new AflIziToast({
            "jsPath": "assets/components/ajaxformitlogin/js/lib/izitoast/iziToast.min.js",
            "cssPath": "assets/components/ajaxformitlogin/css/lib/izitoast/iziToast.min.css",
            "handlerClassName": "iziToast",
            "handlerOptions": {
                "timeout": 2000,
                "position": "topCenter"
            }
        });
    }
});
Если не будет работать используйте задержку через setTimeout, поскольку при импорте скрипт должен быть type=«module», а скрипты этого типа всегда грузятся асинхронно.
Алексей Смирнов
04 февраля 2023, 11:59
+1
site,ru/add-review/?str=[[+id]]
А вы прям так в url Забиваете адрес?
Условия
[[!#GET.str:ne=`0`:then=``:else=`-`]]
вы уверены что корректно написали условие?
Ведь id у вас всегда будет >0, если вы выводите в сниппете.
Уточните логику.
Николай Савин
04 февраля 2023, 11:56
+2
Спасибо за обратную связь.
По весу посмотрим. Вопрос с доставкой тоже поглядим.
Zulya
04 февраля 2023, 11:53
0
Добрый день, Алексей!
Спасибо вам за предложенный вариант решения задачи.
Но форма отображается независимо от того, что url текущей страницы содержит get параметр ( site,ru/add-review/?str=[[+id]] или нет. И в том и в другом, отображается форма.
Но все равно, спасибо большое!
Maks
04 февраля 2023, 10:49
0
Подскажите как закрыть окно после отправки формы?
Для минишоп можно как то сделать что бы сообщения подтягивались с вашего дополнения?
Андрей Шевяков
04 февраля 2023, 10:44
0
Хотя нет, ошибаюсь, сорян. Попробовал обновить дополнения. После этого msOrderFields заработал с miniShop2, вроде все корректно, если вылезут дальше ошибки, напишу сюда и автору дополнения.