|
问题:
在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;
- }
- } ?>
复制代码
|
|