經測試,織夢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上面的定義!