Giant Dad

Giant Dad

С нами с 11 августа 2021; Место в рейтинге пользователей: #422

[mFilter2] Определение контекста в чанке карточки товара при ajax-фильтрации

Добрый день.
Возникла следующая задача. На сайте реализована двуязычная версия через контексты. Web — для русского языка и kz — для казахского. Также имеется каталог товаров, который существует только в одном контексте — web. При переключении между языковыми версиями, текущий контекст переключается с web на kz и обратно. При этом вывод текста для соответствующей версии контекста в чанках товаров в mFilter2 реализован через проверку $_modx->context.key == 'kz' и это работает при стандартном отображении карточек, но если карточки подгружаются по ajax, например, при переключении чекбоксов в фильтре, то вышеуказанная проверка всегда возвращает web disk.yandex.ru/d/KKGD6C_v5ExYVA и поэтому текст в карточках всегда на русском.
Каким образом можно это исправить?
Giant Dad
26 сентября 2023, 16:23
modx.pro
160
0

[miniShop2] Почему не подключается самописный сервис оплаты?

Здравствуйте!
Пытаюсь написать свой способ оплаты для miniShop2 по этой статье
Создаю класс, подключаю его через консоль, в ms2_services сервис прописывается,
{"cart":[],"order":[],"payment":{"epayhalykbank":"{core_path}components\/minishop2\/custom\/payment\/epayhalykbank.class.php"},"delivery":[]}
но класс-обработчик не появляется в выпадашке при создании нового способа оплаты
disk.yandex.ru/d/5o_PXC2oeB8CNw

В чём может быть дело?
(за основу брался вот этот топик, modx.pro/help/23614 но у меня так не срабатывает)
Спасибо за помощь
Giant Dad
20 июня 2023, 12:51
modx.pro
1
394
0

[msProducts] Как вывести товары у которых old_price больше чем price

Здравствуйте!
Ситуация следующая: 1С-ники выгружают цены на сайт таким образом, что, если у товара есть скидка, то актуальная цена выгружается в свойство товара price, а старая цена — в old_price. Но если у товара нет скидки, они выгружают в price и old_price одинаковые значения цен.
Вопрос: как сформулировать запрос к msProducts, чтобы он выводил только товары у которых old_price > price?
{'!msProducts' | snippet:[
  'tpl' => 'tpl_products_listing',
  'limit' => 30,
  'parents' => 0,
  'sortby' => 'RAND()',
  'includeThumbs' => 'webp_m',
  'where' => '[{ "Data.old_price:>":"Data.price" }, { "Data.internet_magazin":"1" }]'
]}
Вот такая конструкция всё равно выводит любые товары. Или я вообще неправильно пытаюсь решить эту задачу? А как тогда надо?
Заранее спасибо за подсказку
Giant Dad
29 мая 2023, 16:45
modx.pro
495
0

[syncMoySklad] Переход на API 1.2

Добрый день!
Недавно одному из клиентов пришло письмо следующего содержания:

Вы используете интеграцию с МоимСкладом по JSON API 1.1. <...> С 1 ноября 2023 года мы прекращаем поддерживать JSON API версии 1.1 и переходим на версию 1.2, у которой больше возможностей. <...> До 1 ноября мы будем поэтапно снижать лимиты по количеству запросов для JSON API 1.1. Первое снижение лимитов до 30 запросов в 3 секунды будет 10 апреля. Если вы разработчик, использующий версию 1.1, запланируйте переход на 1.2. По всем вопросам напишите нам на support@moysklad.ru.

В связи с этим хотелось бы уточнить, достаточно ли для перехода изменить системную настройку sync_moysklad_api_endpoint на адрес нового API или всё же это потребует более глубокой переаботки кода самого syncMoySklad?
Giant Dad
14 марта 2023, 10:33
modx.pro
543
0

[miniShop2] Почему не отправляется письмо администратору при оформлении заказа через MODX API?

Добрый день!
Есть сайт, на котором оформление заказа в 1 клик происходит через MODX API. Но при этом, при таком оформлении заказа не отправляется письмо администратору. При штатном оформлении через корзину письмо отправляется. В чём может быть дело? По команде $miniShop2->order->submit($orderData); письмо должно отправляться автоматически или долна быть ещё какая-то команда?
Спасибо за подсказку.
Giant Dad
03 марта 2023, 17:26
modx.pro
289
0

[miniShop2] Как узнать включена ли опция товара?

Добрый день!
Получаю через MODx API опцию вот таким образом

$object = $modx->getObject("msOption", ['key' => $optionKey])

Можно ли как-то программно определить включена ли опция для категории, к которой относится товар?

Просто возникла следующая проблема. У нас был написан скрипт, который при выгрузке товаров проверял существует ли опция, и, если она не существует, опция создавалась и заполнялась значениями, если опция существует, то она просто заполнялась значениями. В какой-то момент (не знаю почему) почти все опции оказались отключены в админке в разделе настроек miniShop`а. disk.yandex.ru/d/HORlqOJTGOoJ3A Вот эти галочки не стояли, и казалось, что опции просто не подтягивались из выгрузки, на самом же деле, они подтягивались, просто раз были выключены, не отображались ни на странице товара, ни в админке.

Заранее благодарен за вашу помощь
Giant Dad
20 февраля 2023, 15:16
modx.pro
258
0

Перенос файлов через MODx API

Добрый день!

Есть задача: переносить при сохранении товаров файлы, приходящие в выгрузке 1С из временного каталога выгрузки в отдельную папку на сайте, положим /uploads
Можно ли сделать это с помощью MODx API или просто через php-функцию rename() можно?
Пытаюсь сделать это через rename(), но не получается. Папка /uploads существует, права стандартные 755.

Спасибо за совет
Giant Dad
14 февраля 2023, 18:06
modx.pro
237
0

Как контролировать изменение свойств товара при сохранении ресурса?

Добрый день!
Подскажите, пожалуйста, как можно отслеживать изменение свойств товара при его сохранении?
Положим, при изменении свойства товара «в наличии» нужно отправлять письмо пользователю о появлении в наличии товара.
Нужно написать плагин и повесить его на событие OnBeforeDocFormSave, как я понимаю. Но как получить значение свойства до сохранения ресурса и то, на которое происходит замена, чтобы их сравнить?
Если делать так, то получаю одинаковые значения
$stock_new_value = $_REQUEST['stock'];
$stock_old_value = $resource->get('stock');
Giant Dad
10 февраля 2023, 17:53
modx.pro
419
0

[mSync] Вопрос по выгрузке товаров

Добрый день!
У нас на сайте реализована выгрузка из 1С с последующим отключением (выставлением deleted в 0) товаров, которых не было в выгрузке. Реализовано это так:
Giant Dad
03 февраля 2023, 16:35
modx.pro
464
0

[pdoResources] Что такое prepareTVs и processTVs ?

Я сейчас, возможно, глупость спрошу, но не нахожу нигде подробного ответа для чего нужны параметры prepareTVs и processTVs у сниппета pdoResources.
Для чего они нужны? Что значит «подготовка» и «обработка» перед выводом?
Giant Dad
01 февраля 2023, 14:13
modx.pro
571
0