dedecms如何实现仅调用当前栏目内的文章,而不调用当前栏目子目录内的文章
在部分织梦模板制作中有时候会涉及到在首页或者栏目页模板调用图集内的所有列表的问题,织梦本身没有这个功能,只能调用文章或者图集的缩略图,无法调用图集里的所有。所以需要进行小小的二次开发,修改系统文件,才能实现在织梦模板的首页和列表调用图集里的所有的功能。
需要函数。
{dede:arclist row='10' titlelen='24' orderby='rand' typeid='1,2,3,4' idlist=''}
<a href="[field:arcurl/]">[field:title/]</a>
{/dede:arclist}
这样就可以了,复制代码修改你的栏目ID
随即调用主要是 orderby='rand' 在起作用
比如我们在首页需要调用指定栏目ID为6的栏目下的文章,而该栏目下有一个ID为12的子栏目,通常我们在首页的调用代码如下:
<ul>
{dede:arclist typeid='8' row='10' col='1' orderby='hot'}
<li><a href='[field:arcurl/]'>[field:shorttitle/]</a></li>
{/dede:arclist}
</ul>
但是调用后,此栏目下的ID为12的子栏目里面的内容也会出现在列表里,如果不想要子栏目的内容出现在列表里很简单,这个在后台就有设置,具体设置如下:
登录织梦管理后台,在“系统基本参数”——“性能选项”——“上级列表是否包含子类内容:”这个选项选择“否”就行了。
当然这个是有前提的,这个只能说是调用列表页,如果你调用的栏目是封面页,那么肯定会取子栏目的数据,如果你调用的是列表页,那么肯定是可以的。
DedeCMS(织梦内容管理系统)是织梦团队开发的一套网站管理系统(CMS)。
这个系统把一个网站的内容(文字,,等等)与网站的组件分离开来,可以将各个页面连接到一起,可以控制页面的显示。通过这个系统,可以方便的管理,发布,维护网站的内容,而不再需要硬性的写HTML代码或手工建立每一个页面。
方法:typeid='top' 或者typeid='asdas'任意字母不为空不为数字 写上这一个属性就可以了
{dede:arclist orderby='pubdate' titlelen='28' row='7' typeid='top' }
如果是在文章页 这篇文章又是最新刚发布的,那么最新文章里就会包含这篇文章,想要去除这篇文章,可以加limit{dede:arclistorderby='pubdate' titlelen='28'row='7'typeid='top' limit='1,7'}
当然如果不是最新的文章,再次生成的时候还是有可能和当篇文章重复的
织梦内容管理系统(DedeCms) 以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,在经历多年的发展。
目前的版本无论在功能,还是在易用性方面,都有了长足的发展和进步,DedeCms免费版的主要目标用户锁定在个人站长,功能更专注于个人网站或中小型门户的构建,当然也不乏有企业用户和学校等在使用该系统。
不少朋友需要在DedeCms的问答系统、留言本、会员空间导航里调用系统标签,但默认是不支持系统标签调用的,需要对系统文件进行简单的修改。
第一步:打开"/include/commonfuncphp",
然后在该文件中加入一个函数,代码如下:
function pasterTempletDiy($path)
{
require_once(DEDEINC"/arcpartviewclassphp");
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/下新建一个headhtm文件,然后在headhtm里面加入你需要的标签和标签属性:
{dede:arclist titlelen='100' row='15' orderby='rand'}
<li><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></li>
{/dede:arclist}
第三部,自定义yourfilephp文件,内容如下
<php
require_once("//include/commonincphp");
>
想读取公共文件,如:{dede:include filename=''headhtm/}就使用<php pasterTempletDiy("cdqx/headhtm");>
大功告成!
即可使用<php pasterTempletDiy("default/headhtm");>
0条评论