我们在使用dedecms中会发现,当我们打开栏目的列表页和文章页的时候,无论我们使用什么标签,都无法获得当前栏目的标题信息。究其原因是因为这两个页面所读取的信息主要来源于dedecms的dede_archives表及其附加表,仅通过传递栏目的id编号来区别不同栏目,因此我们通过类似{dede:field name=’typename’/}这样的方法是无法直接获得栏目名称的。但是我们依然可以通过程序的改造,利用栏目的唯一id编号,获得栏目名称。以下是实现方法: 7?y7fwER
X>P|-n#
找到include/inc_functions.php(此函数为公共函数,当程序运行时自动加载) %/5Wj_|p
在尾部添加新的函数如下: y\Utm$)j
DH.UJ+
复制代码 代码如下: U~;tk@
qd#7A ksm
//通过栏目ID获取栏目的名称 ;[(d=6{hc]
function GetTypeName($typeid){ %\n|2*r
$dsql = new DedeSql(false); %~gI+0HK
$row = $dsql->GetOne("select typename From #@__arctype where ID=$typeid; "); QG2 Zh9R
return $row['typename']; kxJ[Bi#
} F"O\uo:3
0\X<vrW
调用方法示例: %Ta"H3ZW
复制代码 代码如下: L$.3,./
'%XYJr:H[
{dede:field name='typeid' function=”GetTypeName(@me)”/} N' R^gL