dede的织梦问答模块也可以支持arclist标签

 

dedecms织梦问答等模块支持arclist标签,实现随机调用其他栏目文章

就是让模块模板文件支持调用主站的模板,因为调用主站下的/templets/default/模板,也就实现了支持调用所有标签和标签属性。下面是解决方法:不少朋友需要在DedeCms的问答系统、留言本、会员空间导航里调用系统标签,但默认是不支持系统标签调用的,需要对系统文件进行简单的修改。

第一步:打开"/include/common.func.php",该文件5.7,5.6版本默认存在,5.5的不存在自己建一个。

然后在该文件中加入一个函数,代码如下:

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/default/所有模板文件,比如要在问答模块的主页调用主站的随机文章,你可以在主站模板/templets/default/下新建一个suiji.htm文件,然后在suiji.htm里面加入你需要的标签和标签属性:

{dede:arclist titlelen='100' row='15' orderby='rand'}

<li><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></li>

{/dede:arclist}

最后在问答模块首页的模板里面加入:

<?php

pasterTempletDiy("default/suiji.htm");

?>

这样就实现了真正意义的随机文章,因为ask模块是动态页所以每刷新页面文章就会变化,还可以通过修改:系统--系统基本参数--性能选项--arclist标签调用缓存的值来控制随机文章的更新频率。

这种方法还有很多扩展应用,比如让其他模块共用主站下的footer.htm,head.htm等文件。

原文地址:https://www.cnblogs.com/subtract/p/3152014.html