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

Vladimir
01 июня 2023, 17:20
0
Главная вещь что мне нужно это отправить тот самый сгенерированный файл( его ссылку), ответ мне приходит от ajaxform и в ответе есть уже готовый ключ data, но как туда отправить данные, если мой файл генерируется в хуке formit. Судя по исходному коду AJaxForm
core/components/ajaxform/model/ajaxform/ajaxform.class.php
Метод success принимает 3 параметра.


и согласно этому методу, код ниже валиден и должен вернуть данные на фронт ajaxform в триггер af_complete
return $AjaxForm->success(
        'Спасибо! Ваш отзыв отправлен', 
        array(
            'invoice_of_payment' => $generateInvoice
        )
    );
Сообщение просто для теста стоит.
Если я в хуке верну true или просто любое другое, то ajaxform перестаёт работать, когда делаю через
return $AjaxForm->success
то хотя бы всё работает, по этому я пытаюсь результат засунуть туда.

Как я понял мой код будет работать без проблем если я заменю formit на свой снипет, а что если мне нужен именно всё в таком виде, как мне подбросить эти данные из хука формита в ответ ajaxform
Алексей Смирнов
01 июня 2023, 16:41
0
Успешность отправки вообще делается не в хуке, а в настройках при вызове formIT:
{'!AjaxForm' | snippet : [
'successMessage' => 'Спасибо! Ваш отзыв отправлен.',
]}
ну и доку посмотрите: docs.modx.com/current/en/extras/formit/formit.hooks
Vladimir
01 июня 2023, 15:06
1
0
Можете пожалуйста подсказать как вернуть какие-нибудь данные во фронт через ajaxForm пытался так:

return $AjaxForm->success('Спасибо! Ваш отзыв отправлен', array(
    'data' => array('invoice_of_payment' => $generateInvoice))
);

Потом так 1

return $AjaxForm->success('Спасибо! Ваш отзыв отправлен', array('invoice_of_payment' => $generateInvoice)
);
Потом так 2

return $AjaxForm->success(array(
    'status' => 1,
    'message' => 'Спасибо! Ваш отзыв отправлен',
    'data' => array('invoice_of_payment' => $generateInvoice))
);
Но всё равно сообщение не меняется и данные которые отправляю они не поступают на фронт, в доках не нашёл ничего. Данные хочу подставить в хуке, ведь на фронт всё равно приходит ответ, как мне подставит то что нужно мне?
Vladimir
01 июня 2023, 14:31
0
Спасибо огромное, работает, я так и думал что могу поставить значение в хуке, только думал что нужно всё же создать будет тег, и не знал как прикрепить сам
Николай Савин
01 июня 2023, 11:39
0
Привет. Ну… вообще это платный модуль и о качестве его работы должен заботиться автор. В том числе предлагать изменения со стороны miniShop2, если это будет правильнее. У компонента открытый исходный код — каждый может предложить решение.
К сожалению не было возможности испытать его в работе.

Update. Прошу прощения, оказывается модуль бесплатный. Но остальные слова остаются верными.
JRabbit
01 июня 2023, 11:35
0
Всем привет!

Заметил что в обновленной версии minishop больше нельзя добавить поля через модуль msAddField.

Как с этим быть теперь?
Алексей Смирнов
01 июня 2023, 11:13
1
+3
Прикрепляется очень просто. Ответа на поверхнисти нет особо, будет тут.
Для начала создаем сниппет в админке — это будет наш хук. Примерное содеражание его таково на примере xls:
$myfile = array(
    "name" => "Name-of-file.xls",
    "type" => "application/vnd.ms-excel",
    "tmp_name"=> MODX_ASSETS_PATH."path_more/Name-of-file.xls",
    "error"=> 0
    );
$hook->setValue('file', $myfile);
return true;
Тут вам нужно будет указать реальные имена файла в нужных местах и полный путь к файлу в tmp_name. Тут пример с папкой /assets/.
Ну и указать MIME тип присоединяемого файла. (type)

После указываем данный хук в formIT(ajaxForm) и проверяем что все приходит.
У формы на фронте еще должно быть указано enctype=«multipart/form-data» в теге form:
<form method="post" action="/" enctype="multipart/form-data">
Тестируйте, проверяйте.
Удачи.
Артур Шевченко
01 июня 2023, 10:59
0
Ссылкой или свою отправку сделать. Или посмотреть код хука Email может там есть ответ.
Станислав
01 июня 2023, 10:32
0
Добрый день. Когда планируется версия для Google Analytics 4?
Алексей Смирнов
31 мая 2023, 23:59
0
Понятно.
Тогда да, боль.
ну и еще как вариант для ускорения — можно просто копировать категорию-ресурс, тогда в новом ресурсе будут уже выделены те ресурсы, что в предыдущем — будет проще работать с этим, раз у вас в категориях выбираются ресурсы.
Еще можно накатать плагин, который при первом сохранении, допустим, запишит все 200 товаров, а вы после просто нажмете крестики и удалите не нужные.
Как-то так.
Zulya
31 мая 2023, 23:46
0
Потому что карточку-ресурс невозможно сразу создавать в нескольких категориях.
У меня более 1000 категорий. А карточек где-то 200.
Если создавать дубликаты карточек, мне необходимо будет создавать довольно много карточек.
Алексей Смирнов
31 мая 2023, 23:17
0
А почему вы Карточку-русурс не хотите создавать сразу в Категории-русурсе?
Почему так сложно делаете?
Zulya
31 мая 2023, 23:06
0
Здравствуйте, Алексей!
У карточек-ресурсов есть только 1 родитель. И их родитель не является категорией.
Категории-ресурсы не являются дочерними ресурсами родителя карточек. Они находятся за пределами родителей карточек. Вот такая структура:
— Родитель карточек
— карточка-ресурс
— карточка-ресурс
— карточка-ресурс
— множество карточек-ресурсов.

— Категория-ресурс 1
— Дочерняя категория-ресурс 1
— Дочерняя категория-ресурс 2

— Дочерняя категория-ресурс 100

— Категория-ресурс 2
— Дочерняя категория-ресурс 1
— Дочерняя категория-ресурс 2

— Дочерняя категория-ресурс 100


— Категория-ресурс 1000
— Дочерняя категория-ресурс 1
— Дочерняя категория-ресурс 2

— Дочерняя категория-ресурс 100

Таких категорий довольно много.

Мне необходимо чтобы при открытии страниц категорий-ресурсов отображались только те карточки-ресурсы, которые привязаны к текущей категории.
Алексей Смирнов
31 мая 2023, 22:53
+1
Вопрос такой.
Карточка-ресурс имеет 1 родителя или может иметь много родителей?
Иными словами: Карточка товара должна принадлежать мультикатегориям (карточки-категории)?
Почему задаю этот вопрос, потому что кажется, что вы что-то не так делаете, раз у вас подавляющее большинство товаров (карточек) привязывается к категорям.
Расскажите что у вас за категории и что за товары. Возможно, есть решение по проще и быстрее.
Zulya
31 мая 2023, 21:56
0
'where' => ['id:NOT IN' => [значения из ТВ]]
Если я правильно поняла, то такой синтаксис называется феном.
А как написать без фенома?
Я обычно использую tvfilters для выборки в pdoResources:
&tvFilters=`svyazka==%[[*id]]%, dlv==da`
Zulya
31 мая 2023, 21:54
0
Или установить SuperBoxSelect там есть поиск по названию.
Установила это дополнение. Очень похож на тип ввода «Список (множественный выбор)». Есть поиск. Но нет возможности выбрать все ресурсы из списка.
Zulya
31 мая 2023, 20:48
0
'where' => ['id:NOT IN' => [значения из ТВ]]
В pdoResources так же я могу это использовать?
Артур Шевченко
31 мая 2023, 20:29
+1
Если выбирать те ресурсы, которые не нужны, то потом как в категориях делать выборку?
{'!msProducts' | snippet: [
...
'where' => ['id:NOT IN' => [значения из ТВ]]
...
}}
Zulya
31 мая 2023, 20:05
0
Дополнение Console есть. Но не знаю как отметить все галочки у всех ресурсов-карточек.

у всех товаров, привязанных к одной категории, должны быть какие-то общие свойства для выборки. Есть такое?
Карточки-ресурсы не имеют общих свойств чтобы они между собой как-то привязывались и были похожи.
Единственно что их как-то связывает, это то, что они привязываются к определенным ресурсам-категориям.