读书人

Magento - 打包一个Magento Extension

发布时间: 2012-10-27 10:42:26 作者: rapoo

Magento - 打包一个Magento Extension并上传至Magento社区.
Magento开发者大多有Extension的开发部署经历:建立Magento Module、Design,发布时将文件目录一个一个复制到目标服务器Magento安装目录的各子目录。

显然,上述方式给社区代码共享带来很大的麻烦(扩展代码文件目录复制到目标服务器中出错怎么办?)。Magento提供了更好的方式:打包extension源代码成.tgz文件,并上传至Magento社区,通过Magento Connect下载。

假设您已经开发了一个Module,并在本地服务器调试通过。以下就以Cartz_Shipping2模块为例,关于该模块:实现了Multiple Table Rates的Shipping功能,包括以下文件

D:\PROJECTS\MYCELLBAY\APP├─code│  └─community│      └─Cartz│          └─Shipping2│              │  tablerates_sample.csv│              ├─controllers│              │      TestController.php│              ├─etc│              │      config.xml│              │      system.xml│              ├─Model│              │  ├─Carrier│              │  │    Tablerate1.php│              │  │    Tablerate2.php│              │  │    Tablerate3.php│              │  ├─Mysql4│              │  │  └─Carrier│              │  │       │  Tablerate1.php│              │  │       │  Tablerate2.php│              │  │       │  Tablerate3.php│              │  │       ├─Tablerate1│              │  │       │      Collection.php│              │  │       ├─Tablerate2│              │  │       │      Collection.php│              │  │       └─Tablerate3│              │  │               Collection.php│              │  └─System│              │      └─Config│              │          └─Backend│              │              └─Shipping│              │                      Tablerate1.php│              │                      Tablerate2.php│              │                      Tablerate3.php│              └─sql│                  └─shipping2_setup│                          mysql4-install-0.7.0.php└─etc    └─modules           Cartz_Shipping2.xml

配置文件Cartz_Shipping2.xml内容为:
<config>  <modules> <Cartz_Shipping2><active>true</active><codePool>community</codePool><version>0.1.0</version> </Cartz_Shipping2>  </modules></config>


I. 打包自己开发的extensions.
进入后台Magenento Connect->Package Extensions,进入Extension创建界面,填入必选项(以下仅提及重要选项)
1). Package Info
Name : Cartz_MultiTableRates ;(记住这个名字,稍后要对应)Channel: community ;(相应Cartz_Shipping2.xml的codePool要配置为community,代码也是
放到community 目录)
2). contents

注:仔细观察上图path列,所填写的目录文件都是相对路径哦。

点击Save Data and Create Package按钮,将在magento安装目录的var/connect下发现打包好的文件Cartz_MultiTableRates-0.0.1.tgz

I. 上传打包好的extensions到Magento Connect.
登录magentocommerce.com(没有账号请注册一个),

上图说明:
a. Extension Name很重要,需要和你创建Package时所使用的名字一致,名字一旦确定,将来将不能修改。
b. 底部上传文件框选择本地创建好的.tgz文件
点击Save Extension,就上传好了,状态为Pending,等待Magento Connect组织批准发布。

一旦发布就可以共享给其他Magento开发和使用者了。 1 楼 iceman1983 2011-07-01 我的咋么没有上传 .tgz文件的框呢?

读书人网 >编程

热点推荐