首先感谢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) {
$customer = Mage::getModel( 'customer/customer' )
->setWebsiteId(1)
->loadByEmail( '493835927@qq.com' );
$quote ->assignCustomer( $customer );
} else {
$quote ->setCustomerEmail( 'customer@example.com' );
}
$product = Mage::getModel( 'catalog/product' )->load(166);
$buyInfo = array (
'qty' => 1,
);
$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,
);
$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的控制器和视图层,创建新的模板文件来显示订单信息。它可能还涉及到数据库查询,获取最近的订单数据,并与产品库进行关联,以便在前端页面上实时更新。同时,为了确保安全性,...
2. **模型重写**:可能需要重写`Mage_Sales_Model_Order`或相关的订单处理模型,以便在创建订单时调用自己的方法生成订单号。 3. **事件监听**:利用Magento的事件驱动架构,监听`sales_order_save_before`等事件,...
在Magento 1.x版本中,订单管理是其核心部分,包括订单创建、处理、发货以及退款等一系列流程。然而,系统默认并不支持直接删除订单,这可能会在某些情况下带来不便,比如测试环境中的数据清理或者处理误操作的订单...
### Magento用户使用手册知识点概述 #### 第一章:Magento介绍 **Magento的特色:** - **高度可定制性:** Magento允许商家根据自己的业务需求定制前端和后端。 - **强大的社区支持:** Magento拥有一个庞大的...
这部分代码创建了一个包含商品图片的`<a>`标签,点击该图片将在新窗口打开。其中`<img>`标签用于显示商品图片,`height`和`width`属性分别设置了图片的高度和宽度为80像素。 #### 四、常见问题及解决方案 1. **...
3. **事件监听**:Magento使用事件驱动架构,Mage_Exactor_Tax可能会注册多个事件监听器来在适当的时间点插入其税务计算逻辑,如在购物车更新、订单创建时触发税额计算。 4. **资源模型**:插件可能创建了自己的...
接下来是`app`目录,它是Magento的核心部分,包含所有模块的代码、配置和模板。`app/code`目录下的模块按照社区(community)、核心(core)和企业(enterprise)进行分类,每个模块都有自己的模型(Model)、视图...
- **Magento-9.8 邮件模板的设计和修改**: 关于交易邮件的设计和修改,如创建订单确认邮件、退款通知邮件等。 - **关键知识点**: 如何设计邮件模板、设置邮件触发条件、测试邮件内容等。 **8.9 变量设置** - **...
总的来说,“hellowired”Magento 1.7模板为外贸网站提供了一个强大而美观的基础,结合Magento 1.7的功能,可以帮助商家创建一个高效、专业且具有国际视野的在线商店。通过适当的定制和优化,这个模板可以成为提升...
3. **获取Magento代码**:你可以从Magento官网下载最新版本的源码,或者通过Composer拉取Magento 2的代码。 4. **解压并上传**:将下载的Magento源码解压到Web服务器的根目录,例如 `/var/www/html`。 5. **运行...
本篇文章将深入探讨如何利用Laravel与Magento进行集成,特别是通过使用Magento的SOAP API来实现这一目标。 首先,Laravel是一个优雅的PHP Web开发框架,它提供了丰富的工具和功能,使开发者能够更高效地构建高质量...
这会创建 Magento 需要的所有表,包括 `catalog_product_entity`(产品信息)、`sales_flat_order`(订单数据)、`customer_entity`(客户信息)等。 4. **加载样本数据**:除了基础架构,这个包可能还包含一些示例...
学习如何创建和修改主题,包括布局XML文件、皮肤CSS、HTML和图像,以及如何使用Magento的主题继承机制,能够让你构建独特的用户界面。 3. **Magento商城_目录结构说明** Magento的目录结构复杂而有序,了解这一...
Magento 可以轻松创建和管理不同语言的网站版本,方便全球用户浏览和购买商品,扩大商家的国际市场覆盖。 5. **支付接口集成**: 包含支付插件意味着Magento已经集成了多种支付方式,如PayPal、信用卡处理、银行转账...
例如,使用Magento的命令行接口(CLI)进行数据库迁移、编译代码、清理缓存等操作可以提高效率。此外,IDE(如PHPStorm)的Magento插件可以帮助开发者进行代码智能提示和错误检查。 总的来说,熟悉Magento的常用...
在技术层面,Magento使用了EAV(Entity-Attribute-Value)模型,这使得数据库结构更加灵活,可以应对商品属性多样化的需求。同时,它采用MVC(Model-View-Controller)设计模式,使代码结构清晰,易于维护。 总之,...
`app`目录则包含了实际的Magento代码,包括模型、控制器、视图和配置文件等,这些文件共同构成了邮件自动发送插件的功能实现。 总之,Magento邮件自动发送插件是提升Magento商店自动化程度和客户服务水平的关键工具...
- **安装依赖**:使用 Composer 安装 Magento SOAP 客户端库,如 `magento/magento-api` 或 `aoepeople/soap-client`。 - **创建服务契约**:定义 Laravel 服务契约以描述将要调用的 Magento API 方法。 - **编写...
本章主要介绍Magento后台管理界面的操作方法,包括商品管理、订单处理、客户信息维护等内容。对于初学者来说,这部分内容非常重要。 - **第4章:主题与模板** Magento的主题和模板系统非常强大,可以轻松实现网站...
8. **代码修改、扩展和重写**:教你如何不改变核心代码的情况下扩展或替换 Magento 功能。 9. **数据操作和数据收集器**:涉及数据的保存、检索和处理过程。 10. **其他开发相关文章**:包括 EAV 数据查询、缓存清理...