GVKun编程网logo

dedecms织梦获取当前新闻页面二级栏目名称的办法(织梦二级栏目调用)

10

此处将为大家介绍关于dedecms织梦获取当前新闻页面二级栏目名称的办法的详细内容,并且为您解答有关织梦二级栏目调用的相关问题,此外,我们还将为您介绍关于DEDECMS文章、栏目页获取当前页面顶级栏目

此处将为大家介绍关于dedecms织梦获取当前新闻页面二级栏目名称的办法的详细内容,并且为您解答有关织梦二级栏目调用的相关问题,此外,我们还将为您介绍关于DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法、DEDECMS新闻、列表页获取当前页面顶级栏目名称的办法、dedecms织梦二级栏目,当前栏目高亮的问题解决、dedecms织梦内容详细页栏目页二级栏目三级栏目同时高亮办法的有用信息。

本文目录一览:

dedecms织梦获取当前新闻页面二级栏目名称的办法(织梦二级栏目调用)

dedecms织梦获取当前新闻页面二级栏目名称的办法(织梦二级栏目调用)

 

Dedecms织梦做站的时候,需要在当前页面调用二级栏目名称(即本栏目上一级的栏目名称)的时候,织梦默认{dede:field name='typename' /} 就无法实现了,所以我给大家分享了一个办法,亲测可用:

一、在include/common.func.php的*下方加入:

//获取二级栏目名

function GetSecondTypename($id)

{

    global $dsql;

    $row = $dsql->GetOne("SELECT typename,topid,reid FROM dede_arctype WHERE id= $id");

    if ($row['reid'] == $row['topid'])

    {

        return $row['typename'];

    }

    else

    {

        $row1 = $dsql->GetOne("SELECT typename FROM dede_arctype WHERE id= $row[reid]");

        return $row1['typename'];

    }

}

 

二、

在新闻页或者栏目栏目页调用时,在所要调用 名称的位置加上下面这行代码即可实现。

{dede:field name='typeid' function="GetSecondTypename(@me)" /}

本文章网址:http://www.ppssdd.com/code/12706.html。转载请保留出处,谢谢合作!

DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法

DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法

织梦dedecms文章、栏目页获取当前页面顶级栏目名称的方法

在用织梦做一些项目时,时常会碰到需要在当前页面调用顶级栏目名称的时候,织梦默认{dede:field name='typename' /} 可以获取当前栏目页上一级栏目的名称,而不是当前栏目顶级栏目名称。

下面拓展出一个方法来实现这个效果:

方法一:

在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'];
    }
}

在文章页或者栏目列表页调用时,在所要调用 名称的位置加上下面这行代码即可实现。

{dede:field name='typeid' function="GetTopTypename(@me)" /}

在文章页中用下面这个方法来调用

{dede:field name='typeid' function="GetTopTypename(@me) /}


方法二:

修改 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;
}
else
{
$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上面的定义!

DEDECMS新闻、列表页获取当前页面顶级栏目名称的办法

DEDECMS新闻、列表页获取当前页面顶级栏目名称的办法

 

织梦DEDECMS新闻、列表页获取当前页面优质栏目名称的办法

在用织梦做一些项目时,时常会碰到需要在当前页面调用优质栏目名称的时候,织梦默认{dede:field name='typename' /} 可以获取当前列表页上一级栏目的名称,而不是当前栏目优质栏目名称。

下面拓展出一个办法来实现这个效果:

办法一:

在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']; } }  

在新闻页或者栏目栏目页调用时,在所要调用 名称的位置加上下面这行代码即可实现。

{dede:field name='typeid' function="GetTopTypename(@me)" /}  

在新闻页中用下面这个办法来调用

{dede:field name='typeid' function="GetTopTypename(@me) /}  


办法二:

修改 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_cata日志_base.inc"); } if(!isset($cfg_Cs[$tid][0]) || $cfg_Cs[$tid][0]==0) { $topid = $tid; } else { $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'];//栏目网站优化标题 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上面的定义! 本文章网址:http://www.ppssdd.com/code/7440.html。转载请保留出处,谢谢合作!

dedecms织梦二级栏目,当前栏目高亮的问题解决

dedecms织梦二级栏目,当前栏目高亮的问题解决

PHP

Fields[‘typeurl’] = GetoneTypeUrlA($typeids[$i]);

代码:

TypeLink->TypeInfos['id']){ $pv->Fields['currentstyle'] = ''; } else{ $pv->Fields['currentstyle'] = ''; }

{dede:field name='typename'/} {/dede:channelartlist}

一个.m_hover的类

dedecms织梦内容详细页栏目页二级栏目三级栏目同时高亮办法

dedecms织梦内容详细页栏目页二级栏目三级栏目同时高亮办法

 

dedecms织梦内容详细页栏目页二级栏目三级栏目同时高亮办法

实现教程

1、打开 \include\taglib\channelartlist.lib.php 找到

1

 

$tpsql = " reid='$typeid' AND ispart<>2 AND ishidden<>1 ";

 

改成

1

2

3

4

5

6

7

8

9

 

if($type=='son')

{

         $typeid = ( !empty($refObj->TypeLink->TypeInfos['id']) ?  GetTopid($refObj->TypeLink->TypeInfos['id']) : 0 );

         $tpsql = " reid='$typeid' AND ishidden<>1 ";

}

else

{

         $tpsql = " reid='$typeid' AND ispart<>2 AND ishidden<>1 ";

}

 

2、打开 \include\taglib\channel.lib.php 找到

1

 

if($type=='son' && $reid!=0 && $totalRow==0)

 

改成

1

 

if($type=='son' && $reid!=0 && $totalRow==0 && $noself=='')

 

3、后台-系统-其它选项 去掉php

dedecms织梦内容详细页栏目页二级栏目三级栏目同时高亮办法

栏目页和内容详细页标签写法

<ul>

{dede:php}

$GLOBALS['thisid'] = intval($refObj->Fields['typeid']);

$GLOBALS['reid'] = intval($refObj->Fields['reid']);

$GLOBALS['topid'] = intval($refObj->Fields['topid']);

{/dede:php}

{dede:channelartlist type=son}

<li{dede:field.typeid runphp=yes}(@me==$GLOBALS['thisid']||@me==$GLOBALS['reid']||@me==$GLOBALS['topid'])? @me='':@me='';{/dede:field.typeid}><a href='{dede:field.typeurl/}' >{dede:field.typename/}</a></li>

<ul>

{dede:channel type=son noself=yes}

<li[field:id runphp=yes](@me==$GLOBALS['thisid'])? @me='':@me='';[/field:id]><a href='[field:typelink /]' title='[field:typename/]'>[field:typename/]</a></li>

{/dede:channel}

</ul>

{/dede:channelartlist}

</ul>

注意:红色的地方是必须要的

本文章网址:http://www.ppssdd.com/code/12186.html。转载请保留出处,谢谢合作!

关于dedecms织梦获取当前新闻页面二级栏目名称的办法织梦二级栏目调用的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法、DEDECMS新闻、列表页获取当前页面顶级栏目名称的办法、dedecms织梦二级栏目,当前栏目高亮的问题解决、dedecms织梦内容详细页栏目页二级栏目三级栏目同时高亮办法的相关知识,请在本站寻找。

本文标签: