edeCMS织梦栏目页/文章详情页获取顶级栏目名称
网站建设 2022-07-27 08:12www.1681989.com免费网站
我们使用DedeCMS织梦开发网站时,经常会碰到需要调用当前顶级栏目名称,而织梦默认{dede:field name=typename /} 只可以获取当前栏目的名称,而不是当前栏目顶级栏目名称。 方法一 { dede : field . typeid runphp = yes } $ID = @ me ; $sql = SELECT FROM `dede_arctype` WHERE id= $ID ; $query = mysql_query ( $sql ) ; $row = mysql_fe […]
我们使用DedeCMS织梦开发网站时,经常会碰到需要调用当前顶级栏目名称,而织梦默认{dede:field name='typename' /} 只可以获取当前栏目的名称,而不是当前栏目顶级栏目名称。
方法一
-
{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]"; $ID="$row[id]";
-
if($relID == 0) {@me = $row[typename];}
-
else{$sql = "SELECT `typename` FROM `dede_arctype` WHERE id=$ID";
-
$query = mysql_query($sql);$row=mysql_fetch_array($query);
-
@me = $row[typename];}{/dede:field.typeid}
方法二(推荐)
修改 clude/helpers/extend.helper.php 结尾增加
-
/
-
获取一个类目的顶级栏目
-
@param strg $tid 栏目 ID
-
@return strg
-
/
-
if ( ! function_exists('gettype'))
-
{
-
function gettype($tid,$action)
-
{
-
global $dsql,$cfg_Cs;
-
if(!is_array($cfg_Cs))
-
{
-
require_once(DEDEDATA."/cache/c_catalog_base.c");
-
}
-
if(!isset($cfg_Cs[$tid][0]) || $cfg_Cs[$tid][0]==0)
-
{
-
$id = $tid;
-
}
-
else
-
{
-
$id = GetTopid($cfg_Cs[$tid][0]);
-
}
-
$row = $dsql->GetOne("SELECT FROM `dede_arctype` WHERE id=$id");
-
$typename = $row['typename'];
-
$typeurl = $id;
-
if($action=='id') return $id;
-
if($action=='name') return $typename;
-
if($action=='lk') return GetOneTypeUrlA($row);
-
}
-
}
织梦顶级栏目链接,名称及 id 调用代码:
-
{dede:field.typeid function="gettype(@me,id)"/} //id
-
{dede:field.typeid function="gettype(@me,name)"/} //名称
-
{dede:field.typeid function="gettype(@me,lk)"/} //链接
方法三(推荐)
打开clude/helpers/extend.helper.php,添加一个函数
-
/
-
获取指定栏目id的顶级栏目的名称
-
@return strg
-
/
-
if ( ! function_exists('getTopChannelName'))
-
{
-
function getTopChannelName($id) {
-
global $dsql;
-
$typefo = $dsql->GetOne("SELECT FROM `dede_arctype` WHERE id='{$id}'");
-
if($typefo['reid']==0) return $typefo['typename'];
-
else return getTopChannelName($typefo['reid']);
-
}
-
}
在列表页这么使用{dede:field name='id' function='getTopChannelName(@me)'/}
在内容页这么使用{dede:field name='typeid' function='getTopChannelName(@me)'/}
附带获取顶级栏目的url,打开clude/helpers/extend.helper.php,添加一个函数
-
/
-
获取指定栏目id的顶级栏目的url
-
@return strg
-
/
-
if ( ! function_exists('getTopChannelUrl'))
-
{
-
function getTopChannelUrl($id) {
-
global $dsql;
-
$typefo = $dsql->GetOne("SELECT FROM `dede_arctype` WHERE id='{$id}'");
-
if($typefo['reid']==0) return GetOneTypeUrlA($typefo);
-
else return getTopChannelUrl($typefo['reid']);
-
}
-
}
在列表页这么使用{dede:field name='id' function='getTopChannelUrl (@me)'/}
在内容页这么使用{dede:field name='typeid' function='getTopChannelUrl(@me)'/}
网站设计
- 静宁会SEO的网站建设公司:全面提升您的网络影
- 提升在线业务的关键:选择最佳的丽水网站建设
- 浙江网站优化发展潜力如何
- 井研专业的网站建设公司:打造您的在线品牌
- 灵山SEO网站建设公司:提升您的在线业务表现
- 蒙城网站建设优化公司:提升您网站表现的理想
- 阳谷企业网站优化:提升线上业务力的关键
- 樟树专业的网站建设公司:打造您在线业务的坚
- 通河百度SEO排名的策略与技巧
- 重庆百度快照排名如何进行精准的客户引流
- 重庆百度快照排名
- 常宁便宜的建站公司:助您轻松打造在线业务
- 巫溪百度网站优化:提升网站曝光率与流量的关
- 湖北整站优化怎么做才能放大客户需求
- 闸北网站建设多少钱?全面解析与预算规划
- 辽宁企业网站优化怎么做电话营销