`
钟增生
  • 浏览: 31140 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

magento使用代码创建订单

    博客分类:
  • PHP
阅读更多

首先感谢inchoo的文章:Programmatically create order in Magento 但此文章的方法有点复杂。于是见其下面的评论, Vinai 出场了,见:http://pastebin.com/8cft4d8v  终于,我找到了想要的代码。

代码分享如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
 
require_once 'app/Mage.php';
 
Mage::app();
 
$quote = Mage::getModel('sales/quote')
    ->setStoreId(Mage::app()->getStore('default')->getId());
 
if (1) {
    // for customer orders:
    $customer = Mage::getModel('customer/customer')
        ->setWebsiteId(1)
        ->loadByEmail('493835927@qq.com');
    $quote->assignCustomer($customer);
} else {
    // for guesr orders only:
    $quote->setCustomerEmail('customer@example.com');
}
 
// add product(s)
$product = Mage::getModel('catalog/product')->load(166);
$buyInfo = array(
    'qty' => 1,
    // custom option id => value id
    // or
    // configurable attribute id => value id
);
$quote->addProduct($product, new Varien_Object($buyInfo));
 
$addressData = array(
    'firstname' => 'Test',
    'lastname' => 'Test',
    'street' => 'Sample Street 10',
    'city' => 'Somewhere',
    'postcode' => '123456',
    'telephone' => '123456',
    'country_id' => 'US',
    'region_id' => 12, // id from directory_country_region table
);
 
$billingAddress = $quote->getBillingAddress()->addData($addressData);
$shippingAddress = $quote->getShippingAddress()->addData($addressData);
 
$shippingAddress->setCollectShippingRates(true)->collectShippingRates()
        ->setShippingMethod('flatrate_flatrate')
        ->setPaymentMethod('checkmo');
 
$quote->getPayment()->importData(array('method' => 'checkmo'));
 
$quote->collectTotals()->save();
 
$service = Mage::getModel('sales/service_quote', $quote);
$service->submitAll();
$order = $service->getOrder();
 
printf("Created order %s\n", $order->getIncrementId());

 

如上 为我自己做测试时使用的代码,设置上了必要的参数。请按照你的magento环境设置相应的参数。详情见我开始提到的原代码出处。

转载标明出处:www.hellokeykey.com

分享到:
评论

相关推荐

    magento前台显示最新订单下的产品信息及订单信息插件

    插件的工作原理可能是通过扩展Magento的控制器和视图层,创建新的模板文件来显示订单信息。它可能还涉及到数据库查询,获取最近的订单数据,并与产品库进行关联,以便在前端页面上实时更新。同时,为了确保安全性,...

    magento插件-将订单号改为日期流水号

    2. **模型重写**:可能需要重写`Mage_Sales_Model_Order`或相关的订单处理模型,以便在创建订单时调用自己的方法生成订单号。 3. **事件监听**:利用Magento的事件驱动架构,监听`sales_order_save_before`等事件,...

    magento1.X 订单删除插件

    在Magento 1.x版本中,订单管理是其核心部分,包括订单创建、处理、发货以及退款等一系列流程。然而,系统默认并不支持直接删除订单,这可能会在某些情况下带来不便,比如测试环境中的数据清理或者处理误操作的订单...

    magento用户使用手册

    ### Magento用户使用手册知识点概述 #### 第一章:Magento介绍 **Magento的特色:** - **高度可定制性:** Magento允许商家根据自己的业务需求定制前端和后端。 - **强大的社区支持:** Magento拥有一个庞大的...

    magento后台显示订单图片

    这部分代码创建了一个包含商品图片的`&lt;a&gt;`标签,点击该图片将在新窗口打开。其中`&lt;img&gt;`标签用于显示商品图片,`height`和`width`属性分别设置了图片的高度和宽度为80像素。 #### 四、常见问题及解决方案 1. **...

    Magento插件源代码

    3. **事件监听**:Magento使用事件驱动架构,Mage_Exactor_Tax可能会注册多个事件监听器来在适当的时间点插入其税务计算逻辑,如在购物车更新、订单创建时触发税额计算。 4. **资源模型**:插件可能创建了自己的...

    Magento企业版 源代码

    接下来是`app`目录,它是Magento的核心部分,包含所有模块的代码、配置和模板。`app/code`目录下的模块按照社区(community)、核心(core)和企业(enterprise)进行分类,每个模块都有自己的模型(Model)、视图...

    magento用户使用手册.pdf

    - **Magento-9.8 邮件模板的设计和修改**: 关于交易邮件的设计和修改,如创建订单确认邮件、退款通知邮件等。 - **关键知识点**: 如何设计邮件模板、设置邮件触发条件、测试邮件内容等。 **8.9 变量设置** - **...

    hellowired magento 模板,magento 1.7 使用. 外贸站模板。

    总的来说,“hellowired”Magento 1.7模板为外贸网站提供了一个强大而美观的基础,结合Magento 1.7的功能,可以帮助商家创建一个高效、专业且具有国际视野的在线商店。通过适当的定制和优化,这个模板可以成为提升...

    Magento

    3. **获取Magento代码**:你可以从Magento官网下载最新版本的源码,或者通过Composer拉取Magento 2的代码。 4. **解压并上传**:将下载的Magento源码解压到Web服务器的根目录,例如 `/var/www/html`。 5. **运行...

    Laravel开发-magento

    本篇文章将深入探讨如何利用Laravel与Magento进行集成,特别是通过使用Magento的SOAP API来实现这一目标。 首先,Laravel是一个优雅的PHP Web开发框架,它提供了丰富的工具和功能,使开发者能够更高效地构建高质量...

    magento商城数据库

    这会创建 Magento 需要的所有表,包括 `catalog_product_entity`(产品信息)、`sales_flat_order`(订单数据)、`customer_entity`(客户信息)等。 4. **加载样本数据**:除了基础架构,这个包可能还包含一些示例...

    magento入门学习资料

    学习如何创建和修改主题,包括布局XML文件、皮肤CSS、HTML和图像,以及如何使用Magento的主题继承机制,能够让你构建独特的用户界面。 3. **Magento商城_目录结构说明** Magento的目录结构复杂而有序,了解这一...

    magento外贸商城系统源码(含支付插件)

    Magento 可以轻松创建和管理不同语言的网站版本,方便全球用户浏览和购买商品,扩大商家的国际市场覆盖。 5. **支付接口集成**: 包含支付插件意味着Magento已经集成了多种支付方式,如PayPal、信用卡处理、银行转账...

    Magento 常用方法和插件

    例如,使用Magento的命令行接口(CLI)进行数据库迁移、编译代码、清理缓存等操作可以提高效率。此外,IDE(如PHPStorm)的Magento插件可以帮助开发者进行代码智能提示和错误检查。 总的来说,熟悉Magento的常用...

    magento1.4.1.1

    在技术层面,Magento使用了EAV(Entity-Attribute-Value)模型,这使得数据库结构更加灵活,可以应对商品属性多样化的需求。同时,它采用MVC(Model-View-Controller)设计模式,使代码结构清晰,易于维护。 总之,...

    magento 邮件自动发送插件

    `app`目录则包含了实际的Magento代码,包括模型、控制器、视图和配置文件等,这些文件共同构成了邮件自动发送插件的功能实现。 总之,Magento邮件自动发送插件是提升Magento商店自动化程度和客户服务水平的关键工具...

    Laravel开发-laravel5-magento

    - **安装依赖**:使用 Composer 安装 Magento SOAP 客户端库,如 `magento/magento-api` 或 `aoepeople/soap-client`。 - **创建服务契约**:定义 Laravel 服务契约以描述将要调用的 Magento API 方法。 - **编写...

    The Definitive Guide to Magento (Apress出品 Magento权威指南)

    本章主要介绍Magento后台管理界面的操作方法,包括商品管理、订单处理、客户信息维护等内容。对于初学者来说,这部分内容非常重要。 - **第4章:主题与模板** Magento的主题和模板系统非常强大,可以轻松实现网站...

    magento 中文开发手册

    8. **代码修改、扩展和重写**:教你如何不改变核心代码的情况下扩展或替换 Magento 功能。 9. **数据操作和数据收集器**:涉及数据的保存、检索和处理过程。 10. **其他开发相关文章**:包括 EAV 数据查询、缓存清理...

Global site tag (gtag.js) - Google Analytics