西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > magento教程 >

怎样生成一个Magento Extension

时间:2016-10-13 23:10来源:未知 作者:好模板 点击:
你扩展了Magento,定制了新的模块,增加了自己的网站皮肤。然后你想从Magento剥离出这些代码,并发布到其他Magento系统上。 一种方法是: 从Magento各个子目录下把你的代码按照原有目录
你扩展了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: 用正则表达式说明要忽略的文件(模式界定符使用‘#’) (责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容