初步对织梦cms进行了解,忍不住要动手试一试了。织梦cms也是采用mvc的设计模式,它的核心代码,大部分存在于include目录里。包括控制器、 模型、视图类、模板引擎、标签库、公用函数等。下面我们就简单的创建一个属于自己的php页面处理文件,在文件里,用
织梦自身的模板引擎和视图,去解析我预先创建好的静态html文件。在此,我简单的写了如下几段代码:
第一步,创建自己的php页面处理文件,在这里,我在根目录下创建demo.php文件,文件内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<?php
/*************************************************************************
*
*
* 说 明:织梦解析模板之灵活应用视图类
*
* 作 者:郑州北鲨
*
* 备 注:织梦v5+模板引擎,分为两种,
* 1、静态模板引擎(include/dedetag.class.php) DedeCMS V5.3 及之前版本使用的主要的模板类,它是解析式模板类,并非编译式的。
* (注:编译式是通过获得标签位置进行内容替换,编译式是直接解析为 PHP 代码,二次执行。)
* 2、动态模板引擎(include/dedetemplate.class.php)
* 可以根据自己的实际需求,修改或创建自己的视图类,让后通过织梦提供的模板引擎,去解析处理即可。
*
* ***********************************************************************/
/*第一步>>引入公用配置:
* common.inc.php作用:
* 该文件里面进行了系统全局配置、全局常用函数common.func.php、
* 模块MVC框架需要的控制器和模型基类(control.class.php,model.class.php)、载入小助手配置、
* 设定缓存配置信息、特殊全局变量、系统配置参数、数据库配置文件(data/common.inc.php)、载入系统验证安全配置、
* Session跨域设置、$cfg_相关的参数配置信息等这些模块功能的配置。
*
*
* */
require
'include/common.inc.php'
;
//第二步>>引入视图类
require
'include/arc.partview.class.php'
;
//第三步>>实例化视图对象
$pv
=
new
PartView();
//第四步>>设置视图模板
$pv
->SetTemplet(
"demo.html"
);
//最后>显示视图
$pv
->Display();
?>
|
第二步,创建模板页面。
懒人省事,同样的我在根目录下创建了demo.html文件,内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<!
DOCTYPE
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<
html
>
<
head
>
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html; charset="
>
<
title
>demo测试视图-【郑州北鲨科技】</
title
>
<
STYLE
type
=
" text/css"
>
body{font-size:12px;}
ul li{float:left; list-style:none;padding:2px 10px;}
ul li a{ }
#arclist li{ clear:both;float:none;}
</
STYLE
>
</
head
>
<
body
>
<!-- channel_type标签测试 -->
<
ul
>
{dede:channel type='top' row='10' currentstyle="<
li
class
=
'hover'
><
a
href
=
'~typelink~'
~rel~><
span
>~typename~</
span
></
a
></
li
>"}
<
li
><
a
href
=
'[field:typeurl/]'
[field:rel/]><
span
>[field:typename/]</
span
></
a
></
li
>
{/dede:channel}
<!--arclist标签测试 -->
<
ul
id
=
"arclist"
>
{dede:arclist row="10"}
<
li
>[field:title/]</
li
>
{/dede:arclist}
</
ul
>
</
ul
>
</
body
>
</
html
>
|
在demo.html文件中,我以{dede:channel}和{dede:arclist}这两个标签来测试程序,运行结果如下:
这样,所调信息,都呈现出来了。