channel
来获取顶级栏目。在模板文件中插入以下代码:,,“html,{dede:channel type='top'},[field:typename function="cn2en(@me)" /],{/dede:channel},
`,,2. 使用自定义标签函数
cn2en将中文栏目名转换为英文。在
include/arc.archives.class.php文件中添加以下代码:,,
`php,function cn2en($name) {, $trans = array(, '顶级栏目1' => 'Top Category 1',, '顶级栏目2' => 'Top Category 2',, // ...其他顶级栏目的中英文对照, );, return $trans[$name];,},
“,,3. 保存文件并更新缓存。现在在模板中调用的顶级栏目将显示为英文。dedecms获得顶级栏目及顶级栏目英文方法
在织梦CMS(DedeCMS)中,获取当前栏目的顶级栏目名称及其英文名称是一个常见的需求,本文将详细介绍如何在DedeCMS中实现这一功能,包括具体的代码实现和调用方法。
获取顶级栏目名称的方法
1、函数定义:在include/common.func.php
文件中添加以下代码,用于获取顶级栏目的名称。
function GetTopTypename($id) { global $dsql; $row = $dsql>GetOne("SELECT typename, topid FROM dede_arctype WHERE id = $id"); if ($row['topid'] == '0') { return $row['typename']; } else { $row1 = $dsql>GetOne("SELECT typename FROM dede_arctype WHERE id = $row[topid]"); return $row1['typename']; } }
2、前台调用:在需要显示顶级栏目名称的地方,使用以下标签进行调用。
{dede:field name='typeid' function="GetTopTypename(@me)" /}
获取顶级栏目英文名称的方法
1、函数定义:在include/common.func.php
文件中添加以下代码,用于获取顶级栏目的英文名称。
function GetTopTypeEnName($id) { global $dsql; $row = $dsql>GetOne("SELECT typedir, topid FROM dede_arctype WHERE id = $id"); if ($row['topid'] == '0') { $en = $row['typedir']; } else { $row1 = $dsql>GetOne("SELECT typedir FROM dede_arctype WHERE id = $row[topid]"); $en = $row1['typedir']; } $l = explode("/", $en); $en = array_pop($l); return strtolower($en); }
2、前台调用:在需要显示顶级栏目英文名称的地方,使用以下标签进行调用。
{dede:field name='typeid' function="GetTopTypeEnName(@me)" /}
相关问答FAQs
1、问:为什么需要在include/common.func.php
文件中添加函数?
答:include/common.func.php
是DedeCMS的核心文件之一,包含了许多常用的函数,通过在这个文件中添加自定义函数,可以方便地在整个系统中调用这些函数,从而实现特定的功能。
2、问:如何确保添加的函数不会与现有函数冲突?
答:在添加自定义函数之前,可以先检查include/common.func.php
文件中是否已经存在相同功能的函数,如果存在,可以选择重命名或修改现有函数以避免冲突,还可以通过注释来标记自定义函数,以便日后维护和调试。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1116724.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复