dedecms如何循环调用子栏目内容
内容页 -标签:
{dede:fieldtypeid2 runphp='yes'}
$dsql= new dedesql();
$ks = split(',', @me);
$type2name="";
foreach($ks as $k){
$k = trim($k);
if ($k!="") {
if ($row = $dsql->getOne("select ,ID as id1 from dede_arctype where id="$k)){
$type_path=GetTypeUrl($row['id1'],MfTypedir($row['typedir']),$row['isdefault'],$row['defaultname'],$row['ispart'],$row['namerule2'],$row['siteurl']);
$type2name="<a href='"$type_path"' target=_blank>"$row['typename']"</a> ";
}
}
}
@me=substr($type2name,0,strlen($type2name)-1);
{/dede:fieldtypeid2}
首页 列表页 -标签 :
[field:typeid2 runphp='yes']
$dsql= new dedesql();
$ks = split(',', @me);
$type2name="";
foreach($ks as $k){
$k = trim($k);
if ($k!="") {
if ($row = $dsql->getOne("select ,ID as id1 from dede_arctype where id="$k)){
$type_path=GetTypeUrl($row['id1'],MfTypedir($row['typedir']),$row['isdefault'],$row['defaultname'],$row['ispart'],$row['namerule2'],$row['siteurl']);
$type2name="<a href='"$type_path"' target=_blank>"$row['typename']"</a> ";
}
}
}
@me=substr($type2name,0,strlen($type2name)-1);
[/field:typeid2]
解决在一个空栏目中,调用已有信息栏目的内容:
在栏目管理中,修改 空栏目的属性,如图:
在栏目交叉中选择手工指定交叉栏目ID,就可以了。
这个主要是靠你的css来实现,这个是可以嵌套调用的,调用顶级栏目,里面嵌套调用子栏目,不过要实现你鼠标指到顶级栏目,显示出你的子栏目,这个是靠你的css了!这方面的css网上有的,导航代码,你网上找找!
{dede:channel type='top' row='80'}
<li><a href="[field:typeurl/]">[field:typename/]</a></li>
{/dede:channel}
部分换成
{dede:channelartlist }
<div class="样式1">
{dede:type}<li class="clearfix"><a class="f_l">[field:typename/]</a></li>{/dede:type}
<span>
{dede:channel type='son' noself='yes'}
<a href="[field:typeurl/]" title="[field:typename/]">[field:typename/]</a>|{/dede:channel}
</span>
</div>
{/dede:channelartlist}
channelArtlist 是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套
{dede:type}{/dede:type} 和 {dede:arclist}{/dede:arclist} 两个标记
你嵌套了 {dede:channel}所以有问题
调用多级子栏目讲参考:http://hibaiducom/kfs920/item/58aaec4c6e1d76e3dd0f6c37
同时调用一级、二级、三级以至N级栏目的方法:http://hibaiducom/kfs920/item/80ac8871ebe3c2236cc37c38
0条评论