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

网站建设 强烈建议 2024-02-06 14:27 110 0

  问题:

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

  方法思路:

  在

  {dede:type}

  [field:typename /]

  {/dede:type}

  标签的基础上进行修改。

  调用方法:

  {dede:type2}

  [field:typename /]

  {/dede:type2}

  新标签放置位置:

  \include\taglib\type2.lib.php保存为type2.lib.php标签就可以使用

  

  // +----------------------------------------------------------------------+

  // | 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: |

  // | |

  // | 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 |

  // | Your Name |

  // +----------------------------------------------------------------------+

  //

  // $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;

  }

  } ?>



时间:(2024-02-06 14:27:29)
本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!