DEDECMS文章内容、频道页获得当今网页页面顶尖频

次 创作者:Faokoo 再用织梦cms做一些新项目时,经常会遇到必须在当今网页页面启用顶尖频道名字的情况下,织梦cms默认设置{dede:field name= typename /} 能够获得当今频道页上一级频道的名字,而并不是当今频道顶尖频道名字。

下边扩展出一个方式来完成这一实际效果:

方式一:

mon.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 
 }

 改动 include/helpers/extend.helper.php 
 

末尾提升 :

/* 获得顶尖频道有关信息内容
 *
 * @access public
 * @param string $tid 频道id
 * @param string $field频道字段名
 * @return string
 */
if ( ! function_exists( getToptype ))
function getToptype($tid,$field)
global $dsql,$cfg_Cs;
if(!is_array($cfg_Cs))
require_once(DEDEDATA. /cache/inc_catalog_base.inc 
if(!isset($cfg_Cs[$tid][0]) || $cfg_Cs[$tid][0]==0)
$topid = $tid;
$topid = GetTopid($cfg_Cs[$tid][0]);
$row = $dsql- GetOne( SELECT * FROM `dede_arctype` WHERE id=$topid 
if($field== id ) return $topid;
if($field== typename ) return $row[ typename //频道名字
if($field== typeurl ) return GetOneTypeUrlA($row);//频道连接
if($field== typenamedir ) return $row[ typenamedir //频道英语名字
if($field== seotitle ) return $row[ seotitle //频道SEO题目
if($field== description ) return $row[ description //频道叙述
if($field== content ) return $row[ content //频道內容
}

启用:

{dede:field.typeid function= gettoptype(@me,typename) /} //频道名字
{dede:field.typeid function= gettoptype(@me,typeurl) /} //频道连接

为此类推,如何写能够观查php上边的界定!