搜 索

在织梦中常见的集中调用栏目信息的方式

编辑:QTOOL.NET日期:2019-09-23184

在使用织梦程序制作网站时,经常会在设计模版的时候用到栏目名称、栏目id 、当前栏目或者顶级栏目名称等信息,我们该怎样调用呢?
 
页面中调用当前栏目名称 :
{dede:field name='typename'/}
调用当前栏目的url链接:
{dede:field name='typelink'/}
上级栏目ID:
{dede:field.reid/}
 
当前栏目子栏目名称与链接:
{dede:channel   type ='son' }<a href="[field:typelink/]">[field:typename/]</a>{/dede:channel}
其中son表示下级栏目、self则代表同级栏目、top则为顶级栏目.
 
如果想要在任意页面中调用顶级栏目的名称与id该怎样做
 
修改dedecms根目录中的include文件夹、helpers目录extend.helper.php文件
 
在文件的最后结束标签前添加如下代码:
 
if ( !function_exists( 'gettoptotype' ) ) {
  function gettoptotype( $hqid, $shuxing ) {
    global $dsql, $cfg_Cs;
    if ( !is_array( $cfg_Cs ) ) {
      require_once( DEDEDATA . "/cache/inc_catalog_base.inc" );
    }
    if ( !isset( $cfg_Cs[ $hqid ][ 0 ] ) || $cfg_Cs[ $hqid ][ 0 ] == 0 ) {
      $newtopid = $hqid;
    } else {
      $newtopid = GetTopid( $cfg_Cs[ $hqid ][ 0 ] );
    }
    $row = $dsql->GetOne( "SELECT * FROM `dede_arctype` WHERE id=$newtopid" );
    $newtypename = $row[ 'typename' ];
    $toptypeurl = $newtopid;
    switch ( $shuxing ) {
      case "id":
        return $newtopid;
        break;
      case "name":
        return $newtypename;
        break;
      case "link":
        return GetOneTypeUrlA( $row );
        break;
    }
  }
}
 
修改完成后保存修改的dedecms文件.
 
在需要调用的页面中可以使用:
{dede:field.typeid function="gettoptotype(@me,name)"/}
调用顶级栏目名称
{dede:field.typeid function="gettoptotype(@me,id)"/}
顶级栏目的id
{dede:field.typeid function="gettoptotype(@me,link)"/}
当前栏目所属的一级栏目的url地址.
 
以上就是一些常见的在织梦页面中调用栏目信息的几种方式.

TAG标签:dedecms
此文章由QTOOL.NET编辑
最新文章

热门标签