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"就是模版文件,你可以自己选。

清风明月本无价,近水远山皆有情。
原文地址:https://www.cnblogs.com/onlylove2015/p/4393827.html