dedecms调用当前栏目的子栏目怎么操作

dedecms调用当前栏目的子栏目怎么操作,第1张

dedecms栏目名称的调用方法:

{dede:field name="typename"} 调用当前栏目的名称

{dede:channel type='son' row='5'} <a href="[field:typeurl/]">[field:typename/]</a> {/dede:channel}调用该顶级频道下所有字栏目,row代表调用5条

{dede:type typeid='栏目id'} <a href="[field:typeurl/]">[field:typename/]</a> {/dede:type} 表示调用指定id的栏目,只能调用一个。

{dede:channel type='top'}<a>[field:typename/]</a> {/dede:channel}调用子栏目的当前顶级栏目名称。

调用顶级栏目名称示例代码:

{dede:fieldtitle runphp=’yes’}list($toptype,$sontype)=split(‘/’,@me);@me=$toptype;{/dede:fieldtitle}

dedecms也叫织梦内容管理系统,是一款知名的PHP开源网站内容管理系统,以简单、实用、开源而闻名,DedeCms免费版的主要目标用户在个人站长,功能更专注于个人网站或中小型门户的构建,当然也不乏有企业用户和学校等在使用。

将以下函数放入include/extendfuncphp

//统计栏目文章数

function GetTotalArc($tid){

global $dsql;

$sql = GetSonIds($tid);

$row = $dsql->GetOne("Select count(id) as dd From `#@__archives` where typeid

in({$sql})");

return $row['dd'];

}

//统计当前栏目信息数

function dynamic_num($current_id){

global $dsql;

//读取当前栏目的子ID

$sql = "SELECT id FROM `#@__arctype` WHERE id='$current_id' ||

topid='$current_id'";

$dsql->SetQuery($sql);

$dsql->Execute();

while($row = $dsql->GetArray()){

$arr[]=$row[id];

}

foreach($arr as $key=>$value){

$type = $value  ',';

}

$ty= ""$type"0";

//echo $ty;

$t_num = $dsql->GetOne("select count() as num from `#@__archives` where typeid

in($ty)");

//echo $t_num[num];

if(is_array($t_num)){

return " "$t_num[num]" ";

}else{

return "0" ;

}

}

   

模板中使用以下标签调用:

{dede:field name=’typename’/}</b>(此栏目共{dede:type}[field:id 

function="dynamic_num(@me)" /]{/dede:type}条记录)

{dede:channel type=’son’ }

<li><a href=’[field:typelink/]‘>[field:typename/]</a>(<span>[field:ID 

runphp='yes'] @me = GetTotalArc(@me);[/field:ID]</span>)</li>

{/dede:channel}

以上代码是两个函数,一个统计栏目文章数,另一个统计当前栏目信息数。

{dede:channel type='son' row='8' currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a> </li>"}

 <li><a href='[field:typelink/]'>[field:typename/]</a> </li>

{/dede:channel}

参数说明:

typeid = '0' 栏目ID

reid = '0' 上级栏目ID

row = '100' 调用栏目数

type = 'son' son表示下级栏目,self表示同级栏目,top顶级栏目

currentstyle = '' 应用样式

首先修改include/typelibphp文件,在查询语句里面增加typeimg字段

$row = $dsql->GetOne("SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description,seotitle,typeimg   

                          FROM `#@__arctype` WHERE id='$typeid' ");

前台模板就可以用系统自己的标签直接写

{dede:type}

<a href="[field:typelink /]">[field:typeimg /]</a>

{/dede:type}

比如我们在首页需要调用指定栏目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代码或手工建立每一个页面。

1、打开织梦Dedecms的主界面,直接找到增加顶级栏目并选择跳转。

2、这个时候进入新的对话框,需要根据实际情况设置相关的参数。

3、下一步如果没问题,就点击确定。

4、这样一来等看到对应的结果以后,即可调用指定栏目下的子栏目列表了。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dedecms调用当前栏目的子栏目怎么操作

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情