你扩展了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来下载和安装了。 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: 用正则表达式说明要忽略的文件(模式界定符使用‘#’) (责任编辑:好模板) |