海量精品营销型、响应式模板,超低模板价格,快来选购吧,网站建设如此简单!-互创湾模板网
当前位置:主页 > 建站教程 > 二次开发 >

织梦自动获取当前栏目的顶级栏目名称解决方案

发布时间:2018-01-05 来源:互创湾 浏览: 关键词:
这篇文章主要为大家介绍了dedecms调用当前栏目ID与当前栏目顶级ID的方法,涉及sql调用的技巧,非常具有实用价值,需要的朋友可以参考下,具体分析如下:

一、当前所在栏目ID的方法如下:
调用代码:
        {dede:type}[field:typename /]{/dede:type}
如果是在{dede:sql}里面调用当前栏目ID的话,调用方法如下:
       {dede:sql sql='Select * from dede_arctype where id = ~typeid~ '} [field:字段]{/dede:sql}

二、当前栏目的顶级栏目ID调用:
在include文件夹中找到common.func.php这个文件,底部插入下面代码:
//获取顶级栏目名
function GetTopTypename($id)
{
    global $dsql;
    $row = $dsql->GetOne("SELECT typename,topid FROM  `dede_arctype` WHERE id= $id");
    if ($row['topid'] == '0')
    {
        return $row['typename'];
    }
    else
    {
        $row1 = $dsql->GetOne("SELECT typename FROM  `dede_arctype` WHERE id= $row[topid]");
        return $row1['typename'];
    }
}
前端调用:{dede:field name='typeid' function="GetTopTypename(@me) /}

方法二:dede:field标签直接调用
 
    {dede:field.typeid runphp='yes'}
        $ID = @me; 
        $sql ="SELECT * FROM `cmswu_arctype` WHERE id=$ID";  
        $query = mysql_query($sql);
        $row = mysql_fetch_array($query); 
        $typeID = "$row[topid]"; 
        if($typeID == '0') 
          { 
           @me = $row[seotitle];
            }
        else{
        $sql = "SELECT `seotitle` FROM `cmswu_arctype` WHERE id=$typeID";
        $query = mysql_query($sql);
        $row = mysql_fetch_array($query); 
        @me = $row[seotitle];}        
        {/dede:field.typeid}
注:对应的“_arctype”表前缀根据自己表名称而定。

责任编辑:互创青年
共有人阅读,期待你的评论!评论

网站首页 | 精品模板 | 免费模板 | 高级定制 | 百度地图

CopyRight © 2015-2016 互创湾模板网  备案号:苏ICP备15051054号 
版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。