Я весело провожу время, когда выясняю разницу между «состоянием» заказа и его «состоянием» в Magento.
У нас есть настроенный поток для отправки заказов сторонним исполнителям иу нас также есть некоторая пользовательская логика, позволяющая проверять наличие потенциально мошеннических заказов и помечать их как одобренные вручную для отправки пользователем с правами администратора для отправки на выполнение.
Я добавил статус «Ожидание отправки» и «Статус OK to Ship 'в конфигурации моего модуля выглядит следующим образом:
<global>
...
<sales>
<order>
<statuses>
<pending_shipment translate="label"><label>Pending Shipment</label></pending_shipment>
<ok_to_ship translate="label"><label>OK To Ship</label></ok_to_ship>
</statuses>
<states>
<processing translate="label">
<statuses>
<pending_shipment />
</statuses>
</processing>
<payment_review translate="label">
<statuses>
<ok_to_ship />
</statuses>
</payment_review>
</states>
</order>
</sales>
...
</global>
... и я использую для этого статус встроенного мошенничества.Проблема в том, что статус «Предполагаемое мошенничество» сгруппирован под состоянием «Проверка платежей», и если заказ помечен как «Подозреваемый мошенничество» или «Проверка платежей», администратор не позволяет вам выбирать другие статусы, кромете 2. В идеале, опция «OK To Ship» была бы доступна, но сгруппирована под «состоянием» «Обработка».Здесь у меня есть «OK To Ship» в состоянии «payment_review», и он сделал эту опцию доступной, но затем, когда я опускаю заказ и проверяю canShip () - он не выполняется, потому что это статус «Проверка платежа».
Так что если кто-нибудь может помочь мне понять, как состояния / статусы предназначены для работы в Magento и как лучше всего настроить эту ситуацию, я был бы признателен.