欢迎来到元素模板ys720.com,本站提供专业的织梦模板PBOOTCMS模板网站模板网站修改/网站仿站
当前位置:主页 > 程序教程 > DEDECMS教程 >
DEDECMS教程

织梦dedecms调用顶级栏目名称和URL链接

(元素模板) / 2017-10-23 21:08
织梦如何调用顶级栏目名称和链接

网上有很多调用栏目名称的,但唯独调用顶级栏目链接的很少
元素模板为您解答:如何用一个代码调用顶级栏目名称和链接 
  
调用方法:

{dede:type2}
<a href="[field:typelink /]">[field:typename /]</a> 
{/dede:type2}

在如下链接创建PHP文件 type2.lib.php

\include\taglib\

 

<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | PHP version 5                                                        |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2004 The PHP Group                                |
// +----------------------------------------------------------------------+
// | This source file is subject to version 3.0 of the PHP license,       |
// | that is bundled with this package in the file LICENSE, and is        |
// | available through the world-wide-web at the following url:           |
// | http://www.php.net/license/3_0.txt.                                  |
// | If you did not receive a copy of the PHP license and are unable to   |
// | obtain it through the world-wide-web, please send a note to          |
// | license@php.net so we can mail you a copy immediately.               |
// +----------------------------------------------------------------------+
// | Authors: Original Author <author@example.com>                        |
// |          Your Name <you@example.com>                                 |
// +----------------------------------------------------------------------+
//
// $Id:$
 
if (!defined('DEDEINC')) exit('Request Error!');
function lib_type2(&$ctag, &$refObj) {
    global $dsql, $envs;
    $attlist = 'typeid|0';
    FillAttsDefault($ctag->CAttribute->Items, $attlist);
    extract($ctag->CAttribute->Items, EXTR_SKIP);
    $innertext = trim($ctag->GetInnerText());
    if ($typeid == 0) {
        $typeid = (isset($refObj->TypeLink->TypeInfos['topid']) ? $refObj->TypeLink->TypeInfos['topid'] : $envs['typeid']);
//echo "ssssssssss1".$refObj->TypeLink->TypeInfos['topid'];
//echo "ssssssssss2".$envs['typeid']; exit;
    }
//echo "typeid:".$typeid; exit;
//lyy 如果topid==0 就是顶级分类,取当前记录
if($refObj->TypeLink->TypeInfos['topid']==0){
$typeid=$refObj->TypeLink->TypeInfos['id'];
}
//echo "typeid:".$typeid; exit;
    if (empty($typeid)) return '';
 $row = $dsql->GetOne("SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath 
                          FROM `dede_arctype` WHERE id='$typeid'");
 
    if (!is_array($row)) return '';
    if (trim($innertext) == '') $innertext = GetSysTemplets("part_type_list.htm");
    $dtp = new DedeTagParse();
    $dtp->SetNameSpace('field', '[', ']');
    $dtp->LoadSource($innertext);
    if (!is_array($dtp->CTags)) {
        unset($dtp);
        return '';
    } else {
//lyy 以下getTypeUrl($row[topid]错的,换成 $row['id'] echo  $row['id']."sssss";exit;
        $row['typelink'] = GetTypeUrl($row['id'], MfTypedir($row['typedir']) , $row['isdefault'], $row['defaultname'], $row['ispart'], $row['namerule2'], $row['siteurl'], $row['sitepath']);
 
//print_r($row);exit;
        foreach ($dtp->CTags as $tagid => $ctag) {
            if (isset($row[$ctag->GetName() ])) $dtp->Assign($tagid, $row[$ctag->GetName() ]);
        }
        $revalue = $dtp->GetResult();
        unset($dtp);
        return $revalue;
    }
} ?> 

Copyright @ 2013-2021 元素模板 www.ys720.com All Rights Reserved. 版权所有 元素模板 www.ys720.com