织梦首页调用顶级栏目

成数国际_主机资讯 2022-11-19 21:49 编辑:上官荣 300阅读

dedecms首页调用顶级栏目采用的是{dede:channelartlist}来循环遍历调用的,也就是说有几个顶级栏目调用几个。所以出来的栏目的布局结构都是一样的。

如果你想以不同的样式来显示,可以采用分别调用的方法来完成。

方法如下:
头四个栏目
{dede:channelartlist typeid='1,2,3,4'}
...
<dl class=box1>
...
</dl>
...
{/dede:channelartlist}

后四个栏目
{dede:channelartlist typeid='1,2,3,4'}
...
<dl class=box2>
...
</dl>
...
{/dede:channelartlist}

分别给box1和box2设置不同的CSS即可实现。

dede 调取当前顶级栏目链接

function GetTopTypeurl($id)
{
    global $dsql;
    $row = $dsql->GetOne(SELECT typedir,topid FROM dede_arctype WHERE id= $id);
    if ($row['topid'] == '0')
    {
        $url=str_replace('{cmspath}','',$row['typedir']);
        return $url;
    }
    else
    {
        $row1 = $dsql->GetOne(SELECT typedir FROM dede_arctype WHERE id= $row[topid]);
        $url1=str_replace('{cmspath}','',$row1['typedir']);
        return $url1;
    }
}这样就可以解决,从数据库中提取出当前顶级栏目链接,同时替换路径中的{cmspath}

织梦sql查询问题 在当前栏目列表页怎么调用任意指定栏目的文章,请用sq...

各种栏目名称的调用方法:
1、{dede:field name=typename} 这是调用当前栏目的名称
2、{dede:channel type='son' row='5'} <a href=[field:typeurl/]>[field:typename/]</a> {/dede:channel} 这是调用该顶级频道下所有字栏目,row代表调用5条
3、{dede:type typeid='栏目id'} <a href=[field:typeurl/]>[field:typename/]</a> {/dede:type} 表示调用指定id的栏目,不过只能调用一个,要想多个调用就只能重复多次调用该标签
4、 {dede:channel type='top'}<a>[field:typename/]</a> {/dede:channel}调用子栏目的当前顶级栏目名称

下面是调用顶级栏目名称的方法:
方法一:
{dede:field.typeid runphp=’yes’}$ID = @me; $sql = “SELECT * FROM `dede_arctype` WHERE id=$ID”;$query = mysql_query($sql);$row=mysql_fetch_array($query); $relID = “$row[reid]“; if($relID == 0) {@me = $row[typename];}else{$sql = “SELECT `typename` FROM `dede_arctype` WHERE id=$relID”;$query = mysql_query($sql);$row=mysql_fetch_array($query); @me = $row[typename];}{/dede:field.typeid}

织梦者重点推荐方法二
方法二:
{dede:field.title runphp=’yes’}list($toptype,$sontype)=split(‘/’,@me);@me=$toptype;{/dede:field.title}

方法三:
{dede:field.typeid runphp='yes'}$ID = @me; $sql = SELECT * FROM `dede_arctype` WHERE id=$ID;$query = mysql_query($sql);$row=mysql_fetch_array($query); $relID = $row[reid]; $topID=$row[topid]; if($relID == 0) {@me = $row[typename];}else{$sql = SELECT `typename` FROM `dede_arctype` WHERE id=$topID;$query = mysql_query($sql);$row=mysql_fetch_array($query); @me = $row[typename];}{/dede:field.typeid}