我们在使用dedecms中会发现,当我们打开栏目的列表页和文章页的时候,无论我们使用什么标签,都无法获得当前栏目的标题信息。究其原因是因为这两个页面所读取的信息主要来源于dedecms的dede_archives表及其附加表,仅通过传递栏目的id编号来区别不同栏目,因此我们通过类似{dede:field name=’typename’/}这样的方法是无法直接获得栏目名称的。但是我们依然可以通过程序的改造,利用栏目的唯一id编号,获得栏目名称。以下是实现方法: K@2"n|
S;
A7#nBHwxZ
找到include/inc_functions.php(此函数为公共函数,当程序运行时自动加载) KwaxNb5
在尾部添加新的函数如下: 0/|Ax-dK
_}JMBIq$
复制代码 代码如下: h,&{m*q&
B0Z>di:
//通过栏目ID获取栏目的名称 Crj7n/mp]s
function GetTypeName($typeid){ |Bi7:w
$dsql = new DedeSql(false); 60ciI,_`
$row = $dsql->GetOne("select typename From #@__arctype where ID=$typeid; "); RS&BS;
return $row['typename']; xj8z*fC;
} \5j}6Wj
9Qu(RbDqC
调用方法示例: }:$ot18
复制代码 代码如下: :r
"GZ
:/$_eg0A
{dede:field name='typeid' function=”GetTypeName(@me)”/} 'xnI Nu