Intereting Posts
CodeIgniter index.php Переписывание URL-адресов OVH Как показать изображение с моего Amazon S3 на моем веб-сайте? Конвертация миллисекунд в основное время Отправка данных формы в контроллер ZF2 с помощью Ajax Как узнать, какой класс является экземпляром объекта? (php5) Насколько безопасно отправлять простой текстовый пароль с помощью AJAX? Слияние аудио и изображений для создания видео с использованием php Как определить частичную вертикальную / горизонтальную линию в изображении? Как передать переменные, полученные в строке GET через перенаправление заголовка php? Динамически добавлять данные в массив Предложения для (полу) обеспечения высоких результатов в игре Flash / PHP Проверка наличия всех элементов массива пустым PHP Получение доступа для команды cmd с использованием функции php Сохраненные процедуры не проходят в мире php / mysql? Тайм-аут сеанса PHP PEAR

Импортные заказы в Magento через CSV

Я использовал ниже код. Он работает над простым продуктом и отдельным продуктом.

Создание заказа программно для всех типов продуктов. Сначала я добавил продукт в корзину, после чего я добавил все параметры для заказа, например, для отправки, способа оплаты и способа выставления счетов и доставки. Когда я добавляю параметры продукта, он генерирует пустой заказ продукта.

Но он не работает для других типов продуктов.

Я использовал ниже сценарий,

http://pragneshkaria.com/programmatically-create-order-in-magento/

Пожалуйста, помогите мне создавать заказы программно.

Вы должны создать для этого модуль,

/* create order for registered customer */ $id=12; // get Customer Id $customer = Mage::getModel('customer/customer')->load($id); // print_r($customer->getData()); exit; $transaction = Mage::getModel('core/resource_transaction'); $storeId = $customer->getStoreId(); $reservedOrderId = Mage::getSingleton('eav/config')->getEntityType('order')->fetchNewIncrementId(1); // exit(); $order = Mage::getModel('sales/order') ->setIncrementId($reservedOrderId) ->setStoreId($storeId) ->setQuoteId(0) ->setGlobal_currency_code('USD') ->setBase_currency_code('USD') ->setStore_currency_code('USD') ->setOrder_currency_code('USD'); // Set your store currency USD or any other // set Customer data $order->setCustomer_email($customer->getEmail()) ->setCustomerFirstname($customer->getFirstname()) ->setCustomerLastname($customer->getLastname()) ->setCustomerGroupId($customer->getGroupId()) ->setCustomer_is_guest(0) ->setCustomer($customer); // set Billing Address $billing = $customer->getDefaultBillingAddress(); $billingAddress = Mage::getModel('sales/order_address') ->setStoreId($storeId) ->setAddressType(Mage_Sales_Model_Quote_Address::TYPE_BILLING) ->setCustomerId($customer->getId()) ->setCustomerAddressId($customer->getDefaultBilling()) ->setCustomer_address_id($billing->getEntityId()) ->setPrefix($billing->getPrefix()) ->setFirstname($billing->getFirstname()) ->setMiddlename($billing->getMiddlename()) ->setLastname($billing->getLastname()) ->setSuffix($billing->getSuffix()) ->setCompany($billing->getCompany()) ->setStreet($billing->getStreet()) ->setCity($billing->getCity()) ->setCountry_id($billing->getCountryId()) ->setRegion($billing->getRegion()) ->setRegion_id($billing->getRegionId()) ->setPostcode($billing->getPostcode()) ->setTelephone($billing->getTelephone()) ->setFax($billing->getFax()); $order->setBillingAddress($billingAddress); $shipping = $customer->getDefaultShippingAddress(); $shippingAddress = Mage::getModel('sales/order_address') ->setStoreId($storeId) ->setAddressType(Mage_Sales_Model_Quote_Address::TYPE_SHIPPING) ->setCustomerId($customer->getId()) ->setCustomerAddressId($customer->getDefaultShipping()) ->setCustomer_address_id($shipping->getEntityId()) ->setPrefix($shipping->getPrefix()) ->setFirstname($shipping->getFirstname()) ->setMiddlename($shipping->getMiddlename()) ->setLastname($shipping->getLastname()) ->setSuffix($shipping->getSuffix()) ->setCompany($shipping->getCompany()) ->setStreet($shipping->getStreet()) ->setCity($shipping->getCity()) ->setCountry_id($shipping->getCountryId()) ->setRegion($shipping->getRegion()) ->setRegion_id($shipping->getRegionId()) ->setPostcode($shipping->getPostcode()) ->setTelephone($shipping->getTelephone()) ->setFax($shipping->getFax()); $order->setShippingAddress($shippingAddress) ->setShipping_method('flatrate_flatrate'); /*->setShippingDescription($this->getCarrierName('flatrate'));*/ /*some error i am getting here need to solve further*/ // you can set your payment method name here as per your need $orderPayment = Mage::getModel('sales/order_payment') ->setStoreId($storeId) ->setCustomerPaymentId(0) ->setMethod('purchaseorder') ->setPo_number(' – '); $order->setPayment($orderPayment); // let say, we have 2 products // check that your products exists // need to add code for configurable products if any $subTotal = 0; $products = array( '7088' => array( 'qty' => 2 ), '7089' => array( 'qty' => 1 ) ); foreach ($products as $productId=>$product) { $_product = Mage::getModel('catalog/product')->load($productId); $rowTotal = $_product->getPrice() * $product['qty']; $orderItem = Mage::getModel('sales/order_item') ->setStoreId($storeId) ->setQuoteItemId(0) ->setQuoteParentItemId(NULL) ->setProductId($productId) ->setProductType($_product->getTypeId()) ->setQtyBackordered(NULL) ->setTotalQtyOrdered($product['rqty']) ->setQtyOrdered($product['qty']) ->setName($_product->getName()) ->setSku($_product->getSku()) ->setPrice($_product->getPrice()) ->setBasePrice($_product->getPrice()) ->setOriginalPrice($_product->getPrice()) ->setRowTotal($rowTotal) ->setBaseRowTotal($rowTotal); $subTotal += $rowTotal; $order->addItem($orderItem); } $order->setSubtotal($subTotal) ->setBaseSubtotal($subTotal) ->setGrandTotal($subTotal) ->setBaseGrandTotal($subTotal); $transaction->addObject($order); $transaction->addCommitCallback(array($order, 'place')); $transaction->addCommitCallback(array($order, 'save')); $transaction->save(); /* create order for guest customer */ $quote = Mage::getModel('sales/quote') ->setStoreId(Mage::app()->getStore('default')->getId()); $lsit_od_id = array('7125','7088','7089'); foreach ($lsit_od_id as $key => $value) { $product = Mage::getModel('catalog/product')->load($value); /* 6 => Some product ID */ $buyInfo = array('qty' => 1); $quote->addProduct($product, new Varien_Object($buyInfo)); } $billingAddress = array( 'firstname' => 'abc', 'lastname' => 'ccc', 'company' => 'hhhh', 'email' => 'manoj@gmail.com', 'street' => array( 'Sample Street Line_1', 'Sample Street Line_2' ), 'city' => 'City', 'region_id' => '', 'region' => 'State/Province', 'postcode' => '12345', 'country_id' => 'NL', 'telephone' => '1234567890', 'fax' => '123456987', 'customer_password' => '', 'confirm_password' => '', 'save_in_address_book' => '0', 'use_for_shipping' => '1', ); $quote->getBillingAddress() ->addData($billingAddress); $quote->getShippingAddress() ->addData($billingAddress) ->setShippingMethod('tablerate_bestway') ->setPaymentMethod('checkmo') ->setCollectShippingRates(true) ->collectTotals(); $quote->setCheckoutMethod('guest') ->setCustomerId(null) ->setCustomerEmail($quote->getBillingAddress()->getEmail()) ->setCustomerIsGuest(true) ->setCustomerGroupId(Mage_Customer_Model_Group::NOT_LOGGED_IN_ID); $quote->getPayment()->importData( array('method' => 'checkmo')); $quote->save(); $service = Mage::getModel('sales/service_quote', $quote); $service->submitAll();