首先看一下module.xml中的内容,如下所示,
<?xml version="1.0" encoding="GBK"?> <module> <id>tshop-um-localModule</id> <name>设计师模块</name> <file>tshop-um-localModule.php</file> <thumbnail>../../assets/images/default-thumbnail.png</thumbnail> <description xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">设计师模块</description> <requiredCache>true</requiredCache> <supportedWidth>190,550,750,950</supportedWidth> <themes default="default"> <theme name="default"> <css>assets/stylesheets/default.css</css> </theme> </themes> </module>
都是之前创建模块时设置的内容,可以添加<parameters>标签,然后在该标签下使用<parameter>标签,模块的渲染的基本流程为读取参数,调用底层服务,结合php文件输出html,所以参数是模块和卖家交互的重要部分。
设计师可以修改参数来调整模块信息,也可以通过手动修改module.xml文件。请注意在手动修改时,如果设计师任意地修改它,即没有根据模块Schema文件(module.xsd)的规则的话,在保存编辑或者装配该模块时,会报XML文件格式错误。即module.xml文件中的节点都在module.xsd中注册过,且具体的节点类型在xsd文件中都有定义,xsd会做一个校验工作。 下面详细描述模块配置文件每个参数的含义:
此外,设计师可以自己添加参数信息的,如下所示:
<parameters> <param name="sales_link" label="链接1" ptype="text" formType="text"> http://aaa </param> </parameters>
name: 参数名称用于在模板中通过$_MODULE[name]来引用
label: 用于在编辑模块的时候显示,方面卖家后台设置
description:用于参数描述,此参数用于以后扩展
ptype:
ptype是参数类型的配置,此参数的目的主要是用于对卖家后台录入参数的校验,目前系统支持的ptype参数类型如下:
formType: formType用来配置参数html类型,类型与html类型对应,用于在编辑模块的时候展示界面的DOM结构。目前系统主要支持如下几个类型:
宝贝选择器和类目选择器使用示例如下所示:
<group title="选择器组"> <section folded="false" title="选择器部分"> <param ptype="item" name="item_1" label="宝贝选择器" formType="itemForm" description="描述信息就是要太长!"> 6,3,2</param> <param ptype="category" name="cate_1" label="分类选择器" formType="categoryForm" description="描述信息就是要太长!"></param> </section> </group>
相应的模块编辑页面展示效果如下,
详细介绍一下其他表单的使用,例如在module.xml中添加如下参数内容,在这里 group的功能是:提供分组元素,将参数根据不同的功能,分为不同的逻辑组。便于设计师维护和用户理解和使用。
<group title="书架"> <section folded="true" title="社科类"> <param ptype="text" name="name" label="书籍" formType="text" description="提示:请输入书籍名称"></param> <param ptype="text" name="type" label="书籍类型" formType="select" description="请选择书籍类型"> <option value="1">长生不老型</option> <option selected="selected" value="2">快速致富型</option> <option value="3">成功励志型</option></param> <param ptype="text" name="label" label="书籍级别" formType="range" description="请选择书籍级别"> <option value="normal">主流</option> <option value="porn">黄色</option> <option selected="selected" value="violent">暴力</option> <option value="reactionary">反动</option></param> <param ptype="text" name="booklabel" label="书籍级别" formType="checkbox" description="请选择书籍级别"> <option value="normal">主流</option> <option selected="selected" value="porn">黄色</option> <option selected="selected" value="violent">暴力</option> <option selected="selected" value="reactionary">反动</option></param> <param ptype="text" name="desc" label="描述内容" formType="textarea" description="书籍描述信息"></param> </section> </group>
呈现的结果如下所示:
然后,可以设定一些内容(如下图所示),然后点击保存,
这时module.xml中的内容就会做出相应的改变,会保存刚刚设定的内容,如下图所示绿框中圈定的内容,
图5-8 module.xml中参数列表的内容变化