织梦企业信息管理系统(DedeEIMS,简称EIMS)的模板引擎机制,沿用了织梦内容管理系统(DedeCMS)模板引擎概念,采用了类XML的标签形式,简单易懂、容易上手。并在其基础上增加了多国语言的模板文件接口,使得技术联盟可以轻松的对企业站点进行界面的制作或修改。
我们都知道,如果制作动态站点[注释1],需要网站制作者不单单要掌握页面设计和制作,并且要熟悉掌握动态编程语言,例如PHP或者早期的ASP语言,甚至需要懂数据库查询语言(SQL)的相关知识内容,这样使得制作站点的难度大大增加。
为了减少网站页面的制作难度,模板引擎的概念就诞生了,将一些复杂的程序语言及数据调用通过标签的形式封装,这样只需要网站制作人员只需要了解简单的页面制作的知识,便可以通过EIMS系统搭建出具有企业特色的站点。
我们来举出一个简单的例子,比如我们现在需要调用新闻,页面代码是以下内容格式:
- <ul class='myclass'>
- <li><a href='/html/mylink/20091029100.htm' target='_blank'>知识能够改变命运,细节决定成败</a></li>
- <li><a href='/html/mylink/20091029101.htm' target='_blank'>如何真伪一个成功的人</a></li>
- <li><a href='/html/mylink/20091029102.htm' target='_blank'>打造专业高效的团队</a></li>
- <li><a href='/html/mylink/20091029103.htm' target='_blank'>浅谈项目管理中的人员管理</a></li>
- <li><a href='/html/mylink/20091029104.htm' target='_blank'>如何造营造一个企业文化</a></li>
- </ul>
上面是一段比较简单的列表调用内容,一般我们用Dreamweaver或者其他的网页编辑软件都能够完成,您可以自己将代码部分保存为一个后缀为“.htm”的文件来查看其在浏览器中运行的效果。
这样接下来需要经过程序对其进行处理了,我们来用EIMS的PHP类写一个简单的调用:
-
- $orwheres = " arc.arcrank > -1 "
- $orderby = " order by arc.id";
- $limitsql=" limit 0,5"
-
- $dsql = "SELECT * FROM dede_archives where $orwheres $orderby $limitsql"
- $db->SetQuery($dsql);
- $db->Execute();
- while($arr = $db->GetArray())
- {
- echo "<li><a href='".GetUrl($arr['id'],$arr['rul'])."target='_blank'>".$arr['title']."</a></li>\r\n";
- }
这样的话,制作者需要了解编程中的很多内容,并且需要知道如何制作和修改页面,并且如果调用内容比较多,页面修改起来也比较困难,这对于网站维护绝对是一个痛苦。织梦的模板标签相对来说就比较简单了些,我们看下面的例子:
- {dede:arclist row='5' orderby='id'}
- <li><a href='[field:arcurl/]' target='_blank'>[field:title/]</a></li>
- {/dede:arclist}
我们只需要制作相应内容形式的模板文件,用上面这种简单的模板标签嵌套进入模板,就可以同样实现出那些复杂的编程制作出来的效果,这样无论对于网站的制作还是维护都是一个福音。
[注释1]应用了建立在浏览器/服务器(B/S)架构上的服务器端脚本程序,能够实现网站交互功能(注册、订单等),并不是独立存在于服务器的网页文件,而是浏览器发出请求时才反馈网页内容信息,包含有服务器端脚本,页面文件名常以PHP、JSP、ASP等为后缀 |