Каковы определения статусов заказа? Или: где мне интегрировать состояние заказа?
-
16-10-2019 - |
Вопрос
Я хочу определить некоторые состояния заказа, такие как «Полученный платеж кредитной карты», вопрос в каких статусах они принадлежат. Есть ли определение для каждого из встроенных статусов?
РЕДАКТИРОВАТЬ: Похоже, я смешал «Статус» и «Государство», я надеюсь, что все равно станет ясно из контекста. Я обвиняю немецкий перевод Magento (state => status, status => Zustand)
Решение
Согласно «Окончательному руководству по Magento» [1], статусы порядка определяются следующим образом:
- В ожидании: Заказы на рассмотрение - это совершенно новые заказы, которые не были обработаны. Как правило, эти заказы должны быть выставлены и отправлены.
- В ожидании PayPal: В ожидании заказов PayPal являются совершенно новые заказы, которые не были очищены PayPal. [...
- Обработка: Обработка означает, что заказы либо были выставлены на счет, либо отправлены, но не оба.
- Полный: Заказы, отмеченные как завершенные, были выставлены на счет и отправлены.
- Отменено: Отмененные заказы должны использоваться, если заказы отменяются или если заказы не были оплачены.
- Закрыто: Закрытые заказы - это заказы, в которых была назначена кредитная памятка, и клиент был возвращен за заказ.
- На удерживании: Заказы должны быть удержаны, прежде чем продолжить какие -либо дальнейшие действия.
Поэтому государственная «полученная платежа по кредитной карте» будет принадлежать processing
, При условии, что заказ еще не был отправлен.
Алитентный консалтинг[2] Создал блок -схему для состояний заказа:
Источники:
- Адам МакКомбс и Роберт Банх: «Окончательное руководство по Magento», Apress, 2009 (ISBN 1430272287, 9781430272281)
- https://twitter.com/aligent/status/509487359172177921/photo/1
Другие советы
Различные состояния порядка определены в mage_sales_model_order:
const STATE_NEW = 'new';
const STATE_PENDING_PAYMENT = 'pending_payment';
const STATE_PROCESSING = 'processing';
const STATE_COMPLETE = 'complete';
const STATE_CLOSED = 'closed';
const STATE_CANCELED = 'canceled';
const STATE_HOLDED = 'holded';
const STATE_PAYMENT_REVIEW = 'payment_review';
На самом деле, поскольку 1,5 статусы заказа могут быть определены в разделе администратора, а XML не является предпочтительным способом добавления/изменения состояний или статусов. Пожалуйста, измените ситуацию между состоянием и статусом. Государство - это «обработка» статус «получен платеж кредитной карты»
Обновлять: Статусы заказа могут быть созданы и изменены в Admin/Sales_order_status/, нет необходимости ничего делать в XML, вы можете назначить статус только в том случае, если заказ находится в соответствующем состоянии. По умолчанию заказ переходит в состояние обработки, когда оно будет выставлено счета или отправлено.
Вы можете подключить свое новое состояние к существующим статусам заказа, или вы создаете совершенно новый. Просто измените файл конфигурации модуля продаж следующим образом (App Code Core Mage Sales etc config.xml) с вашим новым состоянием:
<?xml version="1.0"?>
<config>
<!-- ... -->
<global>
<sales>
<order>
<statuses>
<new_status>
<label>New Status</label>
<description>Your Description here</description>
</new_status>
</statuses>
<states>
<new>
<label>New</label>
<statuses>
<new_status/>
</statuses>
<visible_on_front/>
</new>
</states>
</order>
</sales>
</global>
</config>
Обновить кеш, сделанный.