怎样生成一个Magento Extension

问题提出:你扩展了Magento,定制了新的模块,增加了自己的网站皮肤。然后你想从Magento剥离出这些代码,并发布到其他Magento系统上。
一种方法是:
从Magento各个子目录下把你的代码按照原有目录复制出来,再原封不动上传到目标Magento服务器上。

第二种方法就是打包你的代码在目标服务器上安装。这将使用Magento Extension。

I. 基本概念

管理控制台帮助你打包扩展,如:modules, add-ons, 语言包(language packs), 接口(interfaces)和主题(themes), 生成PEAR包。然后可以上传到MagentoConnect和其他社区成员共享。生成的extension包括一个带有包相关信息的 package.xml和实际打包的目录文件。
在extension包被上传到MagentoConnect后,它就可以被其他人通过MagentoConnect下载器指定的extension key来下载和安装了。
怎样生成一个Magento Extension


Extension key

由以下三个部分组成:
PEAR Channel 昵称 (magento-core或magento-community)
包名(Short package name) (Mage_Core_Modules)
数字发布版本(1.2.3) 或者发布成熟度(beta) - 可选
所以上面例子的extension key 可能是:
magento-core/Mage_Core_Modules-1.2.3 - 指定版本的release版将要安装。
magento-core/Mage_Core_Modules-beta - 最新的beta版将要安装。
magento-core/Mage_Core_Modules - 最新的稳定版本将要被安装。

NOTES

确保downloader/pearlib/php和var/pear目录存在并且有供web service可写入的权限.
在所有的Channel字段使用:
CORE packages: connect.magentocommerce.com/core (相应的昵称magento-core)
COMMUNITY packages: connect.magentocommerce.com/community (相应的昵称magento-community)
II. 打包一个扩展
以下分为五个步骤来介绍如何打包。
在完成所有的步骤之后,点击"Save"按钮将把包信存储成xml到var/pear目录下。然后点击"Load local Package"装载生成的包括信息,并单击“Save data and Create Package”按钮在var/pear生成extension包.tgz文件,将来上传到MagentoConnect.

1. 包信息

下面是包的基本信息:
Name: PEAR包名 ( Mage_Oscommerce )
Channel: 如果是共享包使用(connect.magentocommerce.com/community)
Summary: 包定义的简短描述
Description: 详细的包定义描述信息
License: Extension的协议名称,如:OSL v3.0
License URI: 协议内容的Web链接(http://www.opensource.org/licenses/osl-3.0.php)

2. Release Info
进入Release Info tab页:

Release Version: 该发行的Major, minor, revision 和stability版本(1.1.20123)
API Version: 该发行使用API的Major和minor版本(1.0)
Release Stability: 版本的Stability(alpha)
API Stability: 用在这个版本的API的稳定性(stable)
Notes: 给用户或者开发者阅读的发行说明。

3. Maintainers (required)
包维护者,LEAD角色的用户名和MagentoConnect的用户名应该一致,只有该角色的用户可以上传该包。 用户名可以在magentocommerce.com网站的My Account下找到,记住不要使用screen name

4. Dependencies
1). PHP Version: 假设这里要求该包要求PHP5 >= 5.2.0,下面则是可能的各个字段选项
* Minimum: 5.2.0
* Maximum: 6.0.0
* Exclude: 6.0.0
2). Packages :当前包的依赖
* Package: 包名 (Mage_Core_Modules)
* Channel:
* Min: 依赖包的最低支持版本 。
* Max: 依赖包的最高支持版本 。
* Recommended: downloader将尽量优先下载使用该把版本的依赖包
* Exclude: 用逗号分隔开那些不支持的依赖包版本列表。
* Type:
o Required: 依赖包要求成功地被安装。
o Optional: 在安装过程中提示该依赖包为可选安装。
o Conflicts: 说明该依赖包版本和当前包有冲突。
3).Subpackages: 当包被分成两个或者更多的包时被使用。
一般情况下包不能共享相同的文件。但是子包可以描述那些被以前版本的当前包使用的文件。它的各个字段用法和上个条目一样。
4).Extensions : PHP/PECL扩展依赖。
* Extension: 列表当前php服务器安装的所有扩展供选择
* Min, Max, Recommended, Exclude, Type: 和前面包描述节一样。
5. Contents (required)
* Role: 要打包文件的种类(这将定位到不同的相对目录下)
* Path: 要打包文件的子目录
* Type: File或者Recursive Directory
* Include: 用正则表达式说明要包含的文件(模式界定符使用‘#’) - 例如, #^Mage#
* Ignore: 用正则表达式说明要忽略的文件(模式界定符使用‘#’)

你可能感兴趣的:(Web,PHP,正则表达式,ITeye,OpenSource)