php,[field:parentid/],
“,,这段代码会输出当前栏目的父级栏目的ID。你可以根据需要进一步处理或显示该ID。在DEDECMS(织梦内容管理系统)中,列表页调用当前栏目的父级栏目名称是一个常见的需求,通过自定义函数和修改系统文件,可以实现这一功能,以下是具体步骤和方法:
方法一:通过添加自定义函数实现
1、编写自定义函数:
打开include/helper/archive.helper.php
文件。
在文件末尾添加以下代码:
function GetParentTypename($id) { global $dsql; $reid = $dsql>GetOne("SELECT reid FROM#@__arctype
where id=$id"); $reid = $reid['reid']; $row1 = $dsql>GetOne("SELECT typename FROM#@__arctype
where id=$reid"); $type = '主页'; if (empty($row1['typename'])) { return $type; } else { return $row1['typename']; } }
2、调用自定义函数:
在列表或频道页模板文件中,使用以下标签来调用父级栏目名称:
{dede:field.typeid function="GetParentTypename(@me)"/}
方法二:通过修改系统文件实现
1、修改系统文件:
打开include/taglib/type.lib.php
文件。
找到$row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);
代码行。
在该行下面添加以下代码:
$row['parent_name'] = '';
$row2 = $dsql>GetOne("SELECT * FROM#@__arctype
WHERE id={$row['reid']}");
$row['parent_name'] = $row2['typename'];
2、调用父级栏目名称:
在列表或频道页模板文件中,使用以下标签来调用父级栏目名称:
[field:parent_name function="GetParentTypename(@me)"/]
相关问答FAQs
Q1: 如何在DEDECMS列表页中调用当前栏目的顶级栏目名称?
答:可以通过修改系统文件来实现,打开include/helpers/extend.helper.php
文件,在文件中添加如下函数:
function GetTopTypename($id) { global $dsql; $rowR = $dsql>GetOne("SELECT * FROM#@__arctype
WHERE id='$id' "); $topids = $rowR['topid']; if ($topids == 0) return "主页"; $rowR = $dsql>GetOne("SELECT * FROM#@__arctype
WHERE id='$topids' "); return $rowR['typename']; }
然后在列表或频道页模板文件中,使用以下标签来调用顶级栏目名称:
{dede:field.typeid function="GetTopTypename(@me)"/}
Q2: 如何获取当前栏目的路径?
答:可以通过以下SQL查询语句获取当前栏目的路径:
$pathSql = "SELECT typedir FROM#@__arctype
WHERE id = $typeid";
$pathRow = $dsql>GetOne($pathSql);
$path = $pathRow['typedir'];
在列表或频道页模板文件中,可以使用以下标签来显示当前栏目的路径:
{dede:field.typedir function="GetPath(@me)"/}
其中GetPath
是自定义函数,可以根据需要编写相应的逻辑来解析路径字符串并返回结果。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1220162.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复