Программно добавить продукт и сформировать заказ.
Добрый день!
Возникла проблема с добавлением товара и формированием заказа. Есть кастомный код, который формирует заказ для определенного пользователя. Все работает замечательно для опубликованных продуктов. А вот для неопубликованных данный код не работает, может кто то знает как можно решить данную проблему. «Опубликовать» не предлагать, данные товары может добавить только администратор и сформировать заказ, на фронте их нельзя выводить.
Как костыль, перед добавлением публиковывать, после добавления снимать с публикации?
Возникла проблема с добавлением товара и формированием заказа. Есть кастомный код, который формирует заказ для определенного пользователя. Все работает замечательно для опубликованных продуктов. А вот для неопубликованных данный код не работает, может кто то знает как можно решить данную проблему. «Опубликовать» не предлагать, данные товары может добавить только администратор и сформировать заказ, на фронте их нельзя выводить.
Как костыль, перед добавлением публиковывать, после добавления снимать с публикации?
Комментарии: 4
«на фронте их нельзя выводить»Я делал так: страница опубликована, но у нее снят флаг «searchable». Считаю это признаком неопубликованного товара. Проблему отображения страницы решал через плагин, проверяя поле и отдавая 404 ошибку. Ну и не забыть из всяких выборок убрать такие страницы, используя любое условие (по шаблону или searchable, как удобнее).
Я понял решение, к сожалению мне не подойдет, слишком много завязано. Решил костылем, публикую->добавляю в корзину->снимаю с публикации.
$miniShop2 = $modx->getService('miniShop2');
$miniShop2->initialize($modx->context->key, array('allow_unpublished'=>true));
Если так не сработает, форкните обработчик корзины — уберите проверку публикации.docs.modx.pro/components/minishop2/development/service/basket
Спасибо подсказку куда копать, пришлось в исходники залезть. надо только так
$miniShop2 = $modx->getService('miniShop2');
$miniShop2->initialize($modx->context->key, array('allow_unpublished'=>true));
А все вижу отредактировали......))
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.