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
Magento - 打包一个Magento Extension并上传至Magento社区._第1张图片
注:仔细观察上图path列,所填写的目录文件都是相对路径哦。

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

I. 上传打包好的extensions到Magento Connect.
登录magentocommerce.com(没有账号请注册一个),
Magento - 打包一个Magento Extension并上传至Magento社区._第2张图片
上图说明:
a. Extension Name很重要,需要和你创建Package时所使用的名字一致,名字一旦确定,将来将不能修改。
b. 底部上传文件框选择本地创建好的.tgz文件
点击Save Extension,就上传好了,状态为Pending,等待Magento Connect组织批准发布。

一旦发布就可以共享给其他Magento开发和使用者了。

你可能感兴趣的:(sql,PHP,xml,ITeye)