Параметры Magento не отображаются в заказе, счет-фактура (база данных не заполнена) - PullRequest
0 голосов
/ 14 февраля 2012

После обновления до Magento 1.6.2.0 (с версии 1.4) поле product_option в таблице sales_flat_order_item не обновляется при размещении нового заказа.

В старых заказах до обновления запись отображается как:

a: 2: {s: 15: «info_buyRequest»; a: 3: {s: 7: «опции»; a: 2… и т. Д.

но после обновления:

а: 0: {}

Я пытался перейти на стандартный шаблон, добавить новый тестовый продукт с опциями, удалить расширения безрезультатно.

Возможно, кто-то знает, как заполняется поле product_options ?

Значения параметров вставляются в sales_flat_quote_item_option при добавлении товара в корзину, но не в sales_flat_order_item при фактическом размещении заказа.

Спасибо.

1 Ответ

1 голос
/ 14 февраля 2012

Я не сталкивался с этой проблемой после обновлений, но вот несколько советов, которые, надеюсь, помогут вам точно определить проблему и предоставят небольшую справочную информацию.

Преобразование из позиции цитаты в позицию заказа обрабатывается Mage_Sales_Model_Convert_Quote::itemToOrderItem().

Так копируются варианты продукта.

$options = $item->getProductOrderOptions();
if (!$options) {
    $options = $item->getProduct()
        ->getTypeInstance(true)
        ->getOrderOptions($item->getProduct());
}
$orderItem->setProductOptions($options);

getOrderOptions() выбирает массив параметров из продукта, включая info_buyRequest и любые выбранные параметры атрибута.

Работа с композитным продуктом была унифицирована с Magento 1.5. Любые параметры, независимо от того, являются ли они настраиваемыми параметрами продукта, связанными конфигурациями продукта или пользовательскими параметрами, обрабатываются одной и той же подсистемой составных продуктов.

Эти изменения также направлены на сохранение обратной совместимости, насколько это возможно, но некоторые расширения, которые переопределяют глубокую базовую функциональность, должны быть обновлены для работы с новым процессом.

Чтобы выяснить, существуют ли какие-либо изменения, которые изменяют рассматриваемые классы, я бы запустил следующий код для проверки каталога и модуля продаж.

require_once 'app/Mage.php';
Mage::app();

print_r(array(
    'Mage_Catalog Model Rewrites' => Mage::getConfig()->getNode('global/models/catalog/rewrite'),
    'Mage_Sales Model Rewrites'   => Mage::getConfig()->getNode('global/models/sales/rewrite')
));

Если переписаны модели типов продуктов, заказы на продажу или предложения, конверсии продаж или модели обслуживания, попробуйте отключить эти расширения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...