找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1388|回复: 0

[分享] dedecms调用顶级栏目名称和URL链接

[复制链接]
发表于 2018-7-28 10:58:32 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
问题:

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

方法思路:


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

标签的基础上进行修改。

调用方法:
  1. {dede:type2}
  2. <a href="[field:typelink /]">[field:typename /]</a>
  3. {/dede:type2}
复制代码


新标签放置位置:
\include\taglib\type2.lib.php保存为type2.lib.php标签就可以使用

  1. <?php
  2. /* vim: set expandtab tabstop=4 shiftwidth=4: */
  3. // +----------------------------------------------------------------------+
  4. // | PHP version 5                                                        |
  5. // +----------------------------------------------------------------------+
  6. // | Copyright (c) 1997-2004 The PHP Group                                |
  7. // +----------------------------------------------------------------------+
  8. // | This source file is subject to version 3.0 of the PHP license,       |
  9. // | that is bundled with this package in the file LICENSE, and is        |
  10. // | available through the world-wide-web at the following url:           |
  11. // | http://www.php.net/license/3_0.txt.                                  |
  12. // | If you did not receive a copy of the PHP license and are unable to   |
  13. // | obtain it through the world-wide-web, please send a note to          |
  14. // | license@php.net so we can mail you a copy immediately.               |
  15. // +----------------------------------------------------------------------+
  16. // | Authors: Original Author <author@example.com>                        |
  17. // |          Your Name <you@example.com>                                 |
  18. // +----------------------------------------------------------------------+
  19. //
  20. // $Id:$

  21. if (!defined('DEDEINC')) exit('Request Error!');
  22. function lib_type2(&$ctag, &$refObj) {
  23.     global $dsql, $envs;
  24.     $attlist = 'typeid|0';
  25.     FillAttsDefault($ctag->CAttribute->Items, $attlist);
  26.     extract($ctag->CAttribute->Items, EXTR_SKIP);
  27.     $innertext = trim($ctag->GetInnerText());
  28.     if ($typeid == 0) {
  29.         $typeid = (isset($refObj->TypeLink->TypeInfos['topid']) ? $refObj->TypeLink->TypeInfos['topid'] : $envs['typeid']);
  30. //echo "ssssssssss1".$refObj->TypeLink->TypeInfos['topid'];
  31. //echo "ssssssssss2".$envs['typeid']; exit;
  32.     }
  33. //echo "typeid:".$typeid; exit;
  34. //lyy 如果topid==0 就是顶级分类,取当前记录
  35. if($refObj->TypeLink->TypeInfos['topid']==0){
  36. $typeid=$refObj->TypeLink->TypeInfos['id'];
  37. }
  38. //echo "typeid:".$typeid; exit;
  39.     if (empty($typeid)) return '';
  40. $row = $dsql->GetOne("SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
  41.                           FROM `dede_arctype` WHERE id='$typeid'");

  42.     if (!is_array($row)) return '';
  43.     if (trim($innertext) == '') $innertext = GetSysTemplets("part_type_list.htm");
  44.     $dtp = new DedeTagParse();
  45.     $dtp->SetNameSpace('field', '[', ']');
  46.     $dtp->LoadSource($innertext);
  47.     if (!is_array($dtp->CTags)) {
  48.         unset($dtp);
  49.         return '';
  50.     } else {
  51. //lyy 以下getTypeUrl($row[topid]错的,换成 $row['id'] echo  $row['id']."sssss";exit;
  52.         $row['typelink'] = GetTypeUrl($row['id'], MfTypedir($row['typedir']) , $row['isdefault'], $row['defaultname'], $row['ispart'], $row['namerule2'], $row['siteurl'], $row['sitepath']);

  53. //print_r($row);exit;
  54.         foreach ($dtp->CTags as $tagid => $ctag) {
  55.             if (isset($row[$ctag->GetName() ])) $dtp->Assign($tagid, $row[$ctag->GetName() ]);
  56.         }
  57.         $revalue = $dtp->GetResult();
  58.         unset($dtp);
  59.         return $revalue;
  60.     }
  61. } ?>
复制代码

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-12-23 16:23 , Processed in 0.043290 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表