经测试,织梦cms电脑端和手机端均可使用,方便快捷,不过一般在手机端子导航使用最佳~
织梦DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法
在用织梦做一些项目时,时常会碰到需要在当前页面调用顶级栏目名称的时候,织梦默认{dede:field name='typename' /} 可以获取当前栏目页上一级栏目的名称,而不是当前栏目顶级栏目名称。
下面拓展出一个方法来实现这个效果:
添加方式:
<div class="am-u-md-8">当前位置 : <a href="{dede:global.cfg_wapurl/}/">首页</a>><a href="{dede:field.typeid function="gettoptype(@me,typeurl)"/}">{dede:field.typeid function="gettoptype(@me,typename)"/}</a>>
{dede:type type='son'}<a href="http://m.cuoXin.com[field:typeurl function='preg_replace("(.*/m/)","/",@me) /]">[field:typename/]{/dede:type}</a> </div>
方法一:
在include/common.func.php的最下方加入:
02 | function GetTopTypename($id) | 05 | $row = $dsql->GetOne("SELECT typename,topid FROM dede_arctype WHERE id= $id"); | 06 | if ($row['topid'] == '0') | 08 | return $row['typename']; | 12 | $row1 = $dsql->GetOne("SELECT typename FROM dede_arctype WHERE id= $row[topid]"); | 13 | return $row1['typename']; | |
在文章页或者栏目列表页调用时,在所要调用 名称的位置加上下面这行代码即可实现。
1 | {dede:field name='typeid' function="GetTopTypename(@me)" /} | |
在文章页中用下面这个方法来调用
1 | {dede:field name='typeid' function="GetTopTypename(@me) /} | |
方法二: 修改 include/helpers/extend.helper.php
结尾增加 :
04 | * @param string $tid 栏目id | 05 | * @param string $field栏目字段 | 08 | if ( ! function_exists('getToptype')) | 10 | function getToptype($tid,$field) | 13 | if(!is_array($cfg_Cs)) | 15 | require_once(DEDEDATA."/cache/inc_catalog_base.inc"); | 17 | if(!isset($cfg_Cs[$tid][0]) || $cfg_Cs[$tid][0]==0) | 23 | $topid = GetTopid($cfg_Cs[$tid][0]); | 25 | $row = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id=$topid"); | 26 | if($field=='id') return $topid; | 27 | if($field=='typename') return $row['typename'];//栏目名称 | 28 | if($field=='typeurl') return GetOneTypeUrlA($row);//栏目链接 | 29 | if($field=='typenamedir') return $row['typenamedir'];//栏目英文名称 | 30 | if($field=='seotitle') return $row['seotitle'];//栏目SEO标题 | 31 | if($field=='description') return $row['description'];//栏目描述 | 32 | if($field=='content') return $row['content'];//栏目内容 | |
调用: 1 | {dede:field.typeid function="gettoptype(@me,typename)"/} //栏目名称 | |
1 | {dede:field.typeid function="gettoptype(@me,typeurl)"/} //栏目链接 | |
一次类推,怎么写可以观察php上面的定义!