Программно добавить продукт и сформировать заказ.

Добрый день!
Возникла проблема с добавлением товара и формированием заказа. Есть кастомный код, который формирует заказ для определенного пользователя. Все работает замечательно для опубликованных продуктов. А вот для неопубликованных данный код не работает, может кто то знает как можно решить данную проблему. «Опубликовать» не предлагать, данные товары может добавить только администратор и сформировать заказ, на фронте их нельзя выводить.

Как костыль, перед добавлением публиковывать, после добавления снимать с публикации?
Владимир Бабусенко
17 августа 2017, 07:50
modx.pro
1 241
0

Комментарии: 4

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