Состояние ордена Magento против статуса - PullRequest
10 голосов
/ 13 ноября 2010

Я весело провожу время, когда выясняю разницу между «состоянием» заказа и его «состоянием» в 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 и как лучше всего настроить эту ситуацию, я был бы признателен.

Ответы [ 2 ]

3 голосов
/ 08 ноября 2013

Просто отметим, что, поскольку Magento позволял редактировать статусы из интерфейса администратора (я полагаю, версия 1.5), конфигурация статусов XML устарела. Теперь единственная соответствующая конфигурация находится внутри таблиц состояний sales_order_status и sales_order_status.

Если вы хотите добавить новые, просто отредактируйте таблицы с помощью phpmyadmin (вы также можете сделать это программно через скрипт установщика http://www.techytalk.info/programmatically-add-new-order-state-and-status-in-magento/)

1 голос
/ 13 ноября 2010

Насколько я понимаю, для данного состояния (которое определяется обычным потоком заказов и не является действительно изменяемым), вы можете свободно изменять статус для заказа (который является меткой).В зависимости от того, чего вы хотите достичь, не могли бы вы попробовать клонировать <okay_to_ship /> в другое состояние, в котором вы хотите их видеть?Они не кажутся эксклюзивными.

Спасибо, Джо

...