最近很多小伙伴都在问dedecms获取顶级栏目的id,名称及链接这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展dedecms子栏目调用顶级栏目名称与链接、DEDECMS文章、栏目
最近很多小伙伴都在问dedecms获取顶级栏目的id,名称及链接这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展dedecms子栏目调用顶级栏目名称与链接、DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法、dedecms织梦子栏目获取顶级栏目名称及链接url办法、dedecms织梦子栏目获取顶级栏目名称及链接url方法等相关知识,下面开始了哦!
本文目录一览:- dedecms获取顶级栏目的id,名称及链接
- dedecms子栏目调用顶级栏目名称与链接
- DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法
- dedecms织梦子栏目获取顶级栏目名称及链接url办法
- dedecms织梦子栏目获取顶级栏目名称及链接url方法
dedecms获取顶级栏目的id,名称及链接
修改 include/helpers/extend.helper.php
结尾增加 :
/**
* 获取一个类目的优质栏目
* @param string $tid 栏目ID
* @return string
*/
if ( ! function_exists('gettoptype'))
{
function gettoptype($tid,$action)
{
global $dsql,$cfg_Cs;
if(!is_array($cfg_Cs))
{
require_once(DEDEDATA."/cache/inc_cata日志_base.inc");
}
if(!isset($cfg_Cs[$tid][0]) || $cfg_Cs[$tid][0]==0)
{
$topid = $tid;
}
else
{
$topid = GetTopid($cfg_Cs[$tid][0]);
}
$row = $dsql->GetOne("SELECT * FROM `arctype` WHERE id=$topid");
$toptypename = $row['typename'];
$toptypeurl = $topid;
if($action=='id') return $topid;
if($action=='name') return $toptypename;
if($action=='link') return GetOneTypeUrlA($row);
}
}
调用代码
{dede:field.typeid function="gettoptype(@me,id)"/} //id
{dede:field.typeid function="gettoptype(@me,name)"/} //名称
{dede:field.typeid function="gettoptype(@me,link)"/} //链接
dedecms子栏目调用顶级栏目名称与链接
dedecms子列表页面调用优质栏目名称并带链接
问题:
在2级列表页面单独调用该栏目的优质栏目名称!
办法思路:
在
{dede:type}
<a href=http://www.dede58.com/a/dedejq/"[field:typelink /]">[field:typename /]</a>
{/dede:type}
标签的基础上进行修改。
调用办法:
{dede:type2}
<a href=http://www.dede58.com/a/dedejq/"[field:typelink /]">[field:typename /]</a>
{/dede:type2}
新标签放置位置:
\include\taglib
本文章网址:http://www.ppssdd.com/code/3702.html。转载请保留出处,谢谢合作!DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法
织梦dedecms文章、栏目页获取当前页面顶级栏目名称的方法
在用织梦做一些项目时,时常会碰到需要在当前页面调用顶级栏目名称的时候,织梦默认{dede:field name='typename' /} 可以获取当前栏目页上一级栏目的名称,而不是当前栏目顶级栏目名称。
下面拓展出一个方法来实现这个效果:
方法一:
在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 name='typeid' function="GetTopTypename(@me) /} |
方法二:
修改 include/helpers/extend.helper.PHP
结尾增加 :
/* 获取顶级栏目相关信息 * * @access public * @param string $tid 栏目id * @param string $field栏目字段 * @return string */ if ( ! function_exists('getToptype')) { function getToptype($tid,$field) { global $dsql,$cfg_Cs; if(!is_array($cfg_Cs)) { require_once(DEDEDATA."/cache/inc_catalog_base.inc"); } if(!isset($cfg_Cs[$tid][0]) || $cfg_Cs[$tid][0]==0) { $topid = $tid; } else { $topid = GetTopid($cfg_Cs[$tid][0]); } $row = $dsql->Getone("SELECT * FROM `dede_arctype` WHERE id=$topid"); if($field=='id') return $topid; if($field=='typename') return $row['typename'];//栏目名称 if($field=='typeurl') return GetoneTypeUrlA($row);//栏目链接 if($field=='typenamedir') return $row['typenamedir'];//栏目英文名称 if($field=='SEOtitle') return $row['SEOtitle'];//栏目SEO标题 if($field=='description') return $row['description'];//栏目描述 if($field=='content') return $row['content'];//栏目内容 } } |
调用:
{dede:field.typeid function="gettoptype(@me,typename)"/} //栏目名称 |
{dede:field.typeid function="gettoptype(@me,typeurl)"/} //栏目链接 |
一次类推,怎么写可以观察PHP上面的定义!
dedecms织梦子栏目获取顶级栏目名称及链接url办法
打开include/helpers/extend.helper.php,添加一个函数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//织梦58源码收集资源
/**
* 获取指定栏目id的优质栏目的名称
*
* @return string
*/
if ( ! function_exists('getTopChannelName'))
{
function getTopChannelName($id) {
global $dsql;
$typeinfo = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='{$id}'");
if($typeinfo['reid']==0) return $typeinfo['typename'];
else return getTopChannelName($typeinfo['reid']);
}
}
在栏目页这么使用:{dede:field name='id' function='getTopChannelName(@me)'/}
在内容详细页这么使用:{dede:field name='typeid' function='getTopChannelName(@me)'/}
附带获取优质栏目的url:
打开include/helpers/extend.helper.php,添加一个函数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//织梦58源码收集资源
/**
* 获取指定栏目id的优质栏目的url
*
* @return string
*/
if ( ! function_exists('getTopChannelUrl'))
{
function getTopChannelUrl($id) {
global $dsql;
$typeinfo = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='{$id}'");
if($typeinfo['reid']==0) return GetOneTypeUrlA($typeinfo);
else return getTopChannelUrl($typeinfo['reid']);
}
}
在栏目页这么使用:{dede:field name='id' function='getTopChannelUrl (@me)'/}
在内容详细页这么使用:{dede:field name='typeid' function='getTopChannelUrl(@me)'/}
本文章网址:http://www.ppssdd.com/code/12090.html。转载请保留出处,谢谢合作!dedecms织梦子栏目获取顶级栏目名称及链接url方法
打开include/helpers/extend.helper.PHP,添加一个函数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
//织梦58模板收集资源
/**
* 获取指定栏目id的顶级栏目的名称
*
* @return string
*/
if ( ! function_exists('getTopChannelName'))
{
function getTopChannelName($id) {
global $dsql;
$typeinfo = $dsql->Getone("SELECT * FROM `dede_arctype` WHERE id='{$id}'");
if($typeinfo['reid']==0) return $typeinfo['typename'];
else return getTopChannelName($typeinfo['reid']);
}
}
|
在列表页这么使用:{dede:field name='id' function='getTopChannelName(@me)'/}
在内容页这么使用:{dede:field name='typeid' function='getTopChannelName(@me)'/}
附带获取顶级栏目的url:
打开include/helpers/extend.helper.PHP,添加一个函数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
//织梦58模板收集资源
/**
* 获取指定栏目id的顶级栏目的url
*
* @return string
*/
if ( ! function_exists('getTopChannelUrl'))
{
function getTopChannelUrl($id) {
global $dsql;
$typeinfo = $dsql->Getone("SELECT * FROM `dede_arctype` WHERE id='{$id}'");
if($typeinfo['reid']==0) return GetoneTypeUrlA($typeinfo);
else return getTopChannelUrl($typeinfo['reid']);
}
}
|
在列表页这么使用:{dede:field name='id' function='getTopChannelUrl (@me)'/}
在内容页这么使用:{dede:field name='typeid' function='getTopChannelUrl(@me)'/}
我们今天的关于dedecms获取顶级栏目的id,名称及链接的分享就到这里,谢谢您的阅读,如果想了解更多关于dedecms子栏目调用顶级栏目名称与链接、DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法、dedecms织梦子栏目获取顶级栏目名称及链接url办法、dedecms织梦子栏目获取顶级栏目名称及链接url方法的相关信息,可以在本站进行搜索。
本文标签: