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

作者: jiukeshuju 分类: DEDECMS,PHP 发布时间: 2020-10-02 15:24


问题: 

  在2级栏目页面单独调用该栏目的顶级栏目名称! 

  方法思路: 

  在 {dede:type} <a href=”[field:typelink /]”>[field:typename /]</a>  {/dede:type} 标签的基础上进行修改。   调用方法: {dede:type2} <a href=”[field:typelink /]”>[field:typename /]</a>  {/dede:type2}   新标签放置位置: \include\taglib\type2.lib.php保存为type2.lib.php标签就可以使用   <?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;     } } ?> 

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!