dedecms如何实现仅调用当前栏目内的文章,而不调用当前栏目子目录内的文章

dedecms如何实现仅调用当前栏目内的文章,而不调用当前栏目子目录内的文章,第1张

要调用某个栏目的下级栏目名称,参考下面的标签

{dede:channel row='20' type ='son' typeid ='2' } 此处是底层标签 {/dede:channel}

row='20'表示调用20个栏目名称

type ='son'表示调用下级栏目

typeid ='2'表示父栏目id为2

关于底层标签,诸如栏目名称,链接等等就不再赘述了吧

既然你用过kesioncms应该知道模板的绑定洛,你先到织梦后台系统设置将模板风格换成你自定义的名字(当然后台主页模板绑定的路径也要换),你在到根目录下的templets文件下建自定义的模板名字,dedecms里面主页是indexhtm,栏目也都是list_自定义名字htm,而内容页都是article_自定义名字htm,这些可以根据你的栏目名随意设定,设定完了你到后台分别添加栏目,在模板绑定里面可以设定自定义的模板,至于自定义标签在织梦里面用得少(和kesioncms不太一样呵呵,我觉得还是kesiongcms好用),其实都是用系统的标签来调文章,栏目什么的,这个你可以根据帮助文档里面的标签,或者在templets/default下的系统默认模板里面找相应的标签,或者在百度下载dedecms标签进行防站就OK了!顺便说一下cms只要懂一种其它的只要找到模板的位置,我觉得就ok了,至于标签调用网上大把的呵呵!!!

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

一、修改{dede:field name='position'/}的文字间隔符,官方默认的是>

在include/typelinkclassPHP第101行左右将>修改为你想要的符号即可

二、去掉{dede:field name='position' /}最后的分隔符>

{dede:field name='position' runphp='yes'}

$a=mb_strlen(@me);//计算字符串的长度

@me=cn_substr(@me,$a-2,-1);//截取字符

{/dede:field}

三、{dede:field name='position'/} 中去掉 > 并去掉最后一个文本的链接的解决方案

{dede:field name='position' runphp='yes'}

$tc=" > ";

$tf=split($tc,@me);

$tn=count($tf);

for($iij=0;$iij<($tn-1);$iij++){

if($iij==($tn-2)){$tf[$iij]=strip_tags($tf[$iij]);}

$tl=$tl$tf[$iij];

}

@me=$tl;

echo @me;

{/dede:field}

如果还需要分隔符的话,就把$tl=$tl$tf[$iij]; 换成

$tl=$tl"空格分隔符空格"$tf[$iij];

-----------------------------------------------------------------------------------------------

备注:第二种办法是去掉了最后一个>,但链接还是显示的(大部分在栏目页时都不显示当前栏目链接),栏目页就这样调用了,满足了!

内容页就用笨办法,在后面加上“正文”两字。

dede:global ,dede field标签一样的。

区别:

{dede:fieldtitle}:

一般是在文章页调用的标题标签,显示文章的标题,全局都可以使用。 这个标签通常用在页面的head中。

基本语法:

<head><title>{dede:fieldtitle}</title></head>。

dede:global :

是全局变量  例如后台基本参数中的站点根网址,{field:title/] :是列表页底层模板标签,需要配合{dede:list}{/dede:list}或者{dede:arclist}{/dede:arclist}一起使用。

基本语法:

{dede:list pagesize="10"}

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

{/dede:list}

扩展资料:

Field类

获得Field

1、Field[] fs=cgetFields();

//获得公有属性(只能是公有的)//可以是父类的公有的属性

2、Field[] fs2=cgetDeclaredFields();

//获得所有属性(全部类型的修饰符属性均可获得)

3、Field fs3=cgetField(String FieldName);

//获得指定名字的公有属性(只能是公有的)

4、Field fs4=cgetDeclaredField(String FieldName);

//获得指定名字的属性(全部类型的修饰符的属性中指定名字)

首页调用{dede:arclist typeid='xx' row='调用条数'channelid='文章模型id'addfields='自定义字段名' } [field:自定义字段/]{/dede:arclist}列表调用自定义字段:必须使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示,启用此选项将使列表查询变慢,如无必要请不要选择)勾上他{dede:listpagesize='调用条数'channelid='文章模型id' addfields='自定义字段名'} [field:自定义字段/]{/dede:list}

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dedecms如何实现仅调用当前栏目内的文章,而不调用当前栏目子目录内的文章

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情