### 方法一:修改/include/inc_archives_view.php文件 在/include/inc_archives_view.php文件中,您可以查找`tp.typedir`,然后将其替换为`tp.typedir,tp.typename`。完成替换后,在文章模板中使用以下代码调用栏目名称:
{dede:field name='typename'/}
### 方法二:直接在模板中使用标签 您也可以直接在模板中使用以下代码,无需修改后台文件即可实现“文章标题-栏目名称-网站名称”的显示效果:
{dede:field name='title'/}-{dede:field name='typename'/}-{dede:global name='cfg_webname'/}
### 方法三:利用“position”字段 如果想更灵活地控制标题结构,可以使用“position”字段。以下是具体代码:
{dede:field name='title'/}-{dede:field name='position' runphp='yes'}
$tc="-"; // 分隔符
$tw=$GLOBALS['cfg_list_symbol']; // 调用位置分隔符
@me=html2text(@me); // 去除HTML标签
$tf=split($tw,@me); // 分解成数组
for($ta=(count($tf)-2);$ta>=1;$ta--){
$tk.=trim($tf[$ta]).$tc;
}
$tk=substr($tk,0,-1);
@me=$tk; // 赋值给@me
{/dede:field}-{dede:global name='cfg_webname'/}
### 文章页显示栏目名称的方法 由于文章页没有单独的标签用于显示栏目名称,因此需要自定义函数来实现。以下是具体步骤: 1. 编写一个函数,用于获取栏目名称:
function My_GetCName($typeid){
$dsql = new DedeSql(false);
$row = $dsql->GetOne("select typename From xkzzz_arctype where ID=$typeid;");
return $row['typename'];
}
{dede:field name='typeid' function='My_GetCName(@me)'/}