iWebShop_template

iWebShop_template
iWebShop_template

聚易信息科技有限公司 | 授权

IwebShop2.0模板开发

Downloads By https://www.360docs.net/doc/8b6736569.html,

聚易信息科技有限公司 | 授权

目录

1iWebCore处理流程图: (4)

2先了解一下iWebShop的目录结构: (4)

3配制文件及配制参数说明: (6)

4如何在iWebShop中写一个Hello world (8)

5标签的使用: (13)

5.1输出标签: (13)

5.2和地址有关的标签: (14)

5.2.1url标签: (14)

5.2.2{webroot:file}指从产品根目录下的文件目录 (14)

5.2.3{theme:file}指从当前主题目录下开始有路径 (14)

5.2.4{skin:file}指从当前主体下的当前皮肤下的路径 (14)

5.2.5{js:name}引用系统内核封装的js文件,在js封装中除了一些开源的插件外,

还有就是系统开发的几个主要插件,Validate.js,Form.js。 (15)

5.3{set: expression}赋值标签: (20)

5.4{if: condition}expression{elseif:condition}expression{else:} expression{/if}条件表达

式:20

5.5{while:condition}expression{/while}while循环标签: (21)

5.6{for:attribute}{/for}for循环标签: (21)

5.7{foreach:attribute}{/foreach}遍历标签: (23)

5.8{query:attribute}{/query}查询标签 (25)

6模板的开发: (32)

6.1iWebShop2.0前端文件的目录结构图及说明 (32)

6.2主题的开发 (35)

6.2.1主题的config.php配置信息说明: (35)

聚易信息科技有限公司 | 授权

6.3Layout 布局模板和普通模板 (37)

6.4皮肤的开发 (41)

6.4.1皮肤的config.php配置信息说明: (41)

6.5主题与皮肤的切换 (42)

聚易信息科技有限公司 | 授权

1 iWebCore 处理流程图:

首先要了解一下,iWebShop2.0是建立的iWebCore 内核的基础之上开发出来的。

2 先了解一下iWebShop 的目录结构:

|--backup 数据备份目录. |--classes Shop

扩展类文件目录. |--config 配制文件目录. |--controllers 控制器目录

聚易信息科技有限公司 | 授权

|--lib iWebCore内核目录

|--plugins 插件目录

|--runtime编译运行目录

|--upload上传目录

|--views 视图

|--index.php统一入口文件

对于用户二次开发,重点了解的几个目录是controllers、views、classes及config目录。首先了解一下controllers目录:

这里是存放所有控制器类,用户开发自己的控制类一定要继承IController类,用户自

定义类的每一个方法都是对应的一个Action,对应在views目录下主题下面的每一个

目录也对应一个coontroller文件目录,每个目录下存放着若干个视图文件,视图文件

被视为视图Action.

URL访问每个动作都是通过入口文件/ControllerID/ActionID来访问的

格式:index.php/controllerId/actionid/arg/arg_value

从actionid之后,arg/arg_value都是成对出现的。

聚易信息科技有限公司 | 授权

3配制文件及配制参数说明:

?:是一个数组格式:

?:数据库类型。

?:表前缀。

?:数据库服务器地址。

?:用户名。

?:密码。

?:数据库名。

?[read]:二维数组,用来配制多个数据库,每条记录为一个数据库的配制信息。

?[write]:一维数据,因为系统最多支持一主多从数据库处理方式。

?说明:由于内核支持一主多从数据库。所以如果想进行多数据库的支持时,要配制read, write。

?[logs ]:日志配制信息

?path:存放日志的路径。

?type:对应的值为file(文件存储方式),db(数据库存储方式)存放日志的类型。

?[viewPath]:视图配制路径,默认为要目录下的views。

?[classes]:存放自定义的类的路径,类型可为string array。String时为单一存放路径,可能为数组,来设置多个路径。

?:主题名称。

?:皮肤名称。

?[timezone]:系统默认时区,系统默认为Asia/Shanghai。

?[debug]:是否为调试模式true,false。

聚易信息科技有限公司 | 授权

[upload]:文件上传路径。

聚易信息科技有限公司 | 授权

4 如何在iWebShop 中写一个Hello world

? 第一种方式,动作action 的方式。 ? controllers 目录下,然后创建text.php.

这里的文件名,要和类名一样,类名首字母要大写。 运行效果如下:

聚易信息科技有限公司 | 授权

?第二种通过视图Action来运行。

?在views目录下的default目录下的test目录,创建hello.html文件。

运行效果如下:

修改test的控制器类:

如何添加layout的布局。

聚易信息科技有限公司 | 授权

如何添加权限限制?

答:

在对应的Controller类中添加如下代码:

再次访问页面,得到如下提示:

聚易信息科技有限公司 | 授权

用户怎样自定义类,并且调用?

答:用户自定义类是一个很容易的事情,对于iWebShop2.0来说,只要在classes 目录下创建自己的类文件就可以了,在用户定义的类中可以直接使用任何一个系统的类,且不用引入。下面我们来举一个简单的例子。 在classes 目录下创建文件shoptest.php,代码如下:

修改test 控制器类,代码如下:

聚易信息科技有限公司 | 授权

运行时效果如下:

聚易信息科技有限公司 | 授权

明白了产品的工具原理,下面来重点说说标签的使用和模板的开发

5标签的使用:

标签的介绍我们将从简单到复杂的方式给大家介绍:

标签的格式: {标签名:属性},解释一下,这个格式的选择。

下面是一些主要程序对标签的处理:

.net 补充:vs2010 mvc3.0作了改进

举例:

onclick="btnSumit_Click" />

Java struts2

举例:

以上的标签存在着一个很大缺点就是,如果美工在开发与调试页面的时候,都会受到标签的干扰,使美工不易于开发,再一个对程序人员来说,对于每一个属性也没必要去写那些没有必要的’”’引号去,鉴于以上情况标签格式定义如下:

我们的{标签名:属性}

举例:{if:$a>100}{/if}

5.1 输出标签:

{$name}:

直接输出变量name的值,这是最直接的,也是大多数主流语言所采用。

{echo:content}

输出content内容,content也可以是方法调用,也可以是常量与变量。

举例:

聚易信息科技有限公司 | 授权

输出变量age {$age}

输出字符串IWEB {echo:”IWEB”}

5.2 和地址有关的标签:

5.2.1url标签:

{url:path} 通过path转换为系统统一的路径。

Path分为两种情况:

{url:/c/a}将转换为绝对路径,指从产品要目录下开始的目录。

{url:arg/arg_value}这里指的是,相对于用户目录的目录。

5.2.2{webroot:file}指从产品根目录下的文件目录

如:要引用根目录下的image目录下的logo.png文件,那么可以使用

5.2.3{theme:file}指从当前主题目录下开始有路径

如:在视图文件里要引用一个本主体js目录下的一个main.js文件则可写成:

5.2.4{skin:file}指从当前主体下的当前皮肤下的路径

如:引用本主体的一个当前皮肤下的一个css目录一下的style.css文件,则可写成:

聚易信息科技有限公司 | 授权

5.2.5{js:name}引用系统内核封装的js文件,在js封装中除了

一些开源的插件外,还有就是系统开发的几个主要插件,Validate.js,Form.js。

如:引用jquery 则可写成{js:jquery}

下面说一下,Validate插件的使用:

首先要通过js标签引入此插件,然后只要有form表单中的input标签中type为text,password,select-one,textarea .中添属性pattern 和 alt属性系统将会自动

添加验证功能:

如:对email的验证:

在hello的视图文件里编写如下代码:

{js:validate}

然后清空test控制器里的内容,使其为一空类。

class Test extends IController

{

}

?>清空runtime目录

运行效果如下:

当你输入不正确的格式时,效果如下图所示:

聚易信息科技有限公司 | 授权

当你输入正确的格式时,如下图所示:

? 对于pattern 的正则系统对常用的正则都作了一些封装如:required ,email ,

qq ,id ,ip ,zip ,phone ,mobi ,url ,date ,datetime ,int ,float 等等,如果以上还没能满足你的要求,则用户可以自己写正则,如,我想让用户输入一个3-5位的数字:则修改代码

? 另外要注意,要验证时,隐藏字段会失效,不进行验证处理!

运行效果:

聚易信息科技有限公司 | 授权

填写正确:

就是这么简单,那么用户如果想在验证完后再运行自己的js函数怎么办?

修改hello.html文件

{js:validate}

聚易信息科技有限公司 | 授权

然后点击提交按钮:

这里要解释一下回调函数的return true 和false

如果返回的是true,表单通过验证后,表单将提交,不通过将不提交。 如果返回的是false ,则无论表单是否通过表单都将不会被提交。

下面再说一下

form.js 文件,这个主要是完成表单回写功能的,比方说,你想让表单里的项初始化一些值: 修改hello.html 文件:

聚易信息科技有限公司 | 授权

{js:form}



看书打球

运行效果如下:

聚易信息科技有限公司 | 授权

同样也可以用getItems 取得表单里所有数据的对象。也可以用setValue(name,value)的方式只给一个设置对应的值,也可以通过getValue(name)得到对应项的值。 要注意的两点:

1、 多选的时候是用;号来分开的。

2、

此form 插件不能对file 字段进行处理。

5.3 {set: expression}赋值标签:

此标签是一个简单的标签,主要是实现对变量进行赋值,举例: {set:$name = “iWebShop”;}

{set:$url = Url::createUrl(‘ddd/ddd’)

;}

5.4 {if:

condition}expression{elseif:condition}expression{else:} expression{/if}条件表达式:

举例:

相关主题
相关文档
最新文档