dedecms 留言板中引用模板文件方法
最近在做一个用dedecms搭建的网站,客户提出要有留言板,dedecms带了一个留言板的模块,安装倒是十分简便,但装完后发现界面十分粗糙。装修比较简单,但是发现遇到一个问题:网站通用的导航栏无法显示。
在guestbook.htm里面我试图include一个通用的head.htm,但是发现head.htm里面的dede:channelArtlist无法正常被解析。
在网上找了半天,发现一个兄弟的解决办法,真是厉害!留之。
------------------
第一步:打开"/include/extend.func.php",然后在该文件中加入一个函数,代码如下:
function pasterTempletDiy($path)
{
require_once(DEDEINC."/arc.partview.class.php");
global $cfg_basedir,$cfg_templets_dir;
$tmpfile = $cfg_basedir.$cfg_templets_dir."/".$path;//模版文件的路径
$dtp = new PartView();
$dtp->SetTemplet($tmpfile);
$dtp->Display();
}
第二步,打开留言本的模版文件,默认的是/templets/plus/guestbook.htm
在该文件中你想引用head.htm的地方,加入如下代码:
<?php pasterTempletDiy("default/head.htm"); ?> |
注解:该函数的作用和{dede:include filename="" /}一样,如果你在guestbook中用{dede:include/}标记的话,是解析不到{dede:channel}(我猜channelArtlist也一样)标记的,要不然我们也没必要自己解决。至于原因嘛...很复杂....在上面代码中"default/head.htm"就是模版文件,你可以自己选。