dedecms 二级栏目调用到首页有点麻烦要指定上级栏目的id
代码如下
{dede:channel type='son' typeid='73'
row='6'} <a href="[field:typeurl/]"><span>[field:typename/]</span></a>|
{/dede:channel} </h3>
的话你看一下调用出来的是什么才知道
您好,织梦云模版(dedeyun)很高兴为您解答:
首先回答您第一个问题:你在后台建立栏目有很多方法在前台显示
{dede:channel type='top'}[field:typename/]{/dede:channel} 这个是输出后台你建立的所有栏目。 {dede:type typeid='你栏目id'}[field:typename/]{/dede:type} 这个是调用某一个栏目
当然栏目调用还有其他很多方法,具体请您多看织梦的官方标签。
其次,需要别人数据,唯一的办法就是采集。这个还是需要你学习。
总之,你需要基础才行。希望我的回答能够帮到您。
{dede:channelartlist typeid='顶级栏目ID' row='输出条数' }
<ul>
{dede:arclist row='每个子栏目的文章的输出条数' addfields='' channelid='1' titlelen='' orderby='weight'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
{/dede:channelartlist}
试试看是否合适!
你的目的是不是就想获取子栏目的父级栏目啊,如果是这个的话可以去修改一下\include\taglib文件夹下面的typelibphp这个文件
首先解释一下这句话$attlist=’typeid|0“;,这个的意思就是我们调用方法的时候要传一个参数typeid,为了以后使用方便我们在多加上一个参数,用这个参数来判断是不是要获取当前栏目的上级栏目:$attlist=’typeid|0,flag|0′;然后再if(!is_array($row)) return ”;这句话后面添加上查询上级栏目的代码
else{
if($flag==1){
$row = $dsql->GetOne(“SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `#@__arctype` WHERE id=’”$row['topid']”‘ “);
if(!is_array($row)) return ”;
}
}
这时候我们在模板中如果想调用当前栏目的上级栏目的话就可以直接调用{dede:type flag=”1″}这样就可以了
<li<span[field:pubdate function="MyDate('m-d',@me)'/]</span<a href="[field:arcurl /]"[field:title /]</a</li
{/dede:arclist}</ul</dd</dl{/dede:channelartlist}</div我没做演示,找了个类似的效果图,借用一下:
上述代码在首页可实现子栏目及子栏目内容列表的调用!下面说说 channelartlist 标签在列表页及内容页的使用。
1、参数简介
channelartlist 标签暂时支持三个参数,分别为:
typeid='0' 限制上级栏目ID;也可以用top,支持“,”表示多个栏目
row='20' 循环的栏目数量,默认为20;
cacheid ='' 标签缓存ID,一般为空
但如果你只是将上述代码原封不动的复制粘贴到终极栏目页或内容页,是不会出现任何调用结果的,因为在标签 channelartlist 中,当typeid为空,则表示当前栏目,但是终极栏目列表和内容页是没有下级栏目的,所以就会出错!
2、调用实例
在终极列表页或内容页,正确的调用方法应该是以下的:
{dede:channelartlist typeid='top'}
这里是typied='top',这个top值可以换为你想要的上级栏目ID,但绝对是不可以为空的。这个大家一定要注意!
3、栏目高亮、特效调用
在该标签下,可以直接分别用 {dede:field name='typename'/}与{dede:field name='typeurl'/}来表示栏目名称与栏目链接的,当然还有一些其它特殊的变量,这里也介绍一下,如: {dede:field name='id'/}与{dede:field name='typeid'/} 均表示循环中的栏目ID;
{dede:global name='itemindex'} 表示循环递增变量,从1开始;
{dede:global name='itemparity'} 表示循环魔法变量,单数为1,双数为2;
以上就是可以在channelartlist中直接套用的,特别要注意的是第2、3两个,拥有这两个变量,可以轻松制作出各类非常个性的效果,例如栏目的隔行变色等。
关于这个栏目高亮,在 channelartlistlibphp 并没有自带,但通过以下DIY可实现让当前栏目进行高亮。方法(以dedecms 56为例):
打开channelartlistlibphp文件,找到如下代码:
$pv-Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
在其下一行加入一下代码: if($typeids[$i]['id'] == $refObj-TypeLink-TypeInfos['id']){
然后,就可以在模板中进行使用{dede:field name='currentstyle'/}进行调用了。
以上就是关于感激不尽!dedecms模板,二级栏目调用到首页问题,全部的内容,包括:感激不尽!dedecms模板,二级栏目调用到首页问题,、万能的网友啊 求助DEDECMS的问题、dedecms在内容页调用所属顶级栏目下的所有子栏目及子栏目的文章等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)