Темы - Изменение статуса заказа
В настоящее время я разрабатываю платежный модуль для PrestaShop, и я борюсь со статусами. Статус с идентификатором 3 - это "обработка в процессе", и, похоже, мне нужно жестко закодировать его так:
$order = new Order($orderId);
$order->setCurrentState(3);
Проблема в том... могут ли эти идентификаторы отличаться? Как и в другой установке prestashop или после небольшой реконфигурации статус с id 3 может быть совершенно разным. Кто-нибудь знает, есть ли какая-либо константа, определенная в prestashop, через которую я мог бы получить идентификатор состояния "обработка в процессе"?
Ваше здоровье!
Ответы - Темы - Изменение статуса заказа / PrestaShop - changing order status

15.01.2019 10:45:12
Processing in progress
-это состояние заказа по умолчанию, и его идентификатор не изменится, если вы не измените его непосредственно в базе данных, что я не знаю, почему вы это сделаете.
Однако вы можете получить значение PS_OS_PREPARATION
PS_OS_PREPARATION вместо жесткого кодирования числа, чтобы получить этот идентификатор состояния заказа.
$order = new Order($orderId);
$order->setCurrentState((int)Configuration::get('PS_OS_PREPARATION'));
Вы можете найти другие идентификаторы состояния порядка по умолчанию в config, заглянув в таблицу PS_OS_PREPARATION
и найдя строки с name
столбца, которые имеют префикс PS_OS_.