Темы - Изменение статуса заказа

Темы - Изменение статуса заказа

14.01.2019 08:01:30 Просмотров 57 Источник

В настоящее время я разрабатываю платежный модуль для PrestaShop, и я борюсь со статусами. Статус с идентификатором 3 - это "обработка в процессе", и, похоже, мне нужно жестко закодировать его так:

$order = new Order($orderId);
$order->setCurrentState(3);

Проблема в том... могут ли эти идентификаторы отличаться? Как и в другой установке prestashop или после небольшой реконфигурации статус с id 3 может быть совершенно разным. Кто-нибудь знает, есть ли какая-либо константа, определенная в prestashop, через которую я мог бы получить идентификатор состояния "обработка в процессе"?

Ваше здоровье!

У вопроса есть решение - Посмотреть?

Ответы - Темы - Изменение статуса заказа / PrestaShop - changing order status

Является ответом!
TheDrot

15.01.2019 10:45:12

Processing in progress-это состояние заказа по умолчанию, и его идентификатор не изменится, если вы не измените его непосредственно в базе данных, что я не знаю, почему вы это сделаете.

Однако вы можете получить значение PS_OS_PREPARATIONPS_OS_PREPARATION вместо жесткого кодирования числа, чтобы получить этот идентификатор состояния заказа.

$order = new Order($orderId);
$order->setCurrentState((int)Configuration::get('PS_OS_PREPARATION'));

Вы можете найти другие идентификаторы состояния порядка по умолчанию в config, заглянув в таблицу PS_OS_PREPARATIONи найдя строки с nameстолбца, которые имеют префикс PS_OS_.

Закрыть X