我们在使用dedecms中会发现,当我们打开栏目的列表页和文章页的时候,无论我们使用什么标签,都无法获得当前栏目的标题信息。究其原因是因为这两个页面所读取的信息主要来源于dedecms的dede_archives表及其附加表,仅通过传递栏目的id编号来区别不同栏目,因此我们通过类似{dede:field name=’typename’/}这样的方法是无法直接获得栏目名称的。但是我们依然可以通过程序的改造,利用栏目的唯一id编号,获得栏目名称。以下是实现方法: F}ukZ
DB
YT2'!R
1
找到include/inc_functions.php(此函数为公共函数,当程序运行时自动加载) #GqTqHNE<
在尾部添加新的函数如下: W7G9Kx1Y
'UDBV
复制代码 代码如下: (N U0Tw
_GbE^
//通过栏目ID获取栏目的名称 m7 XjP2
function GetTypeName($typeid){ O<,r>b,
$dsql = new DedeSql(false); 4'At.<]jL
$row = $dsql->GetOne("select typename From #@__arctype where ID=$typeid; "); shi
Hy*(v
return $row['typename']; |"}4*V_ *
} V;[p438o
yU`:IMz
调用方法示例: cgNt_8qC
复制代码 代码如下: x1DVD!0 ~{
zHxmA
{dede:field name='typeid' function=”GetTypeName(@me)”/} b:B[3|