|
找到 include/taglib/type.lib.php , 复制, 重命名为 toptype.lib.php
查找- function lib_type(&$ctag,&$refObj)
复制代码
修改为:
- function lib_toptype(&$ctag,&$refObj)
复制代码
查找 $row = $dsql->GetOne
注释掉 //$row = $dsql->GetOne("Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$typeid' ");
添加3行:
- $topid=$dsql->GetOne("Select topid From `dede_arctype` where id='$typeid' ");
- $topid=$topid['topid'];
- $row=$dsql->GetOne("Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$topid' ");
复制代码
模板调用:{dede:toptype}[field:typename/]{/dede:toptype}
修改后的toptype.lib.php
- <?php
-
- if(!defined('DEDEINC')) exit('Request Error!');
-
- function lib_toptype(&$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['id']) ? $refObj->TypeLink->TypeInfos['id'] : $envs['typeid'] );
- }
-
- if(empty($typeid)) return '';
-
- //$row = $dsql->GetOne("Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$typeid' ");
-
- $topid=$dsql->GetOne("Select topid From `dede_arctype` where id='$typeid' ");
- $topid=$topid['topid'];
- $row=$dsql->GetOne("Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$topid' ");
-
- if(!is_array($row)) return '';
- if($row['topid']==0){$row['topid']=$row['id'];}
- 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
- {
- $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);
- foreach($dtp->CTags as $tagid=>$ctag)
- {
- if(isset($row[$ctag->GetName()])) $dtp->Assign($tagid,$row[$ctag->GetName()]);
- }
- $revalue = $dtp->GetResult();
- unset($dtp);
- return $revalue;
- }
- }
-
- ?>
复制代码
如果想获取任一栏目的上级栏目,可将topid---->改为--->reid,最后记得改函数名和文件名
retype.lib.php
- <?php
-
-
-
- if(!defined('DEDEINC')) exit('Request Error!');
-
-
-
- function lib_retype(&$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['id']) ? $refObj->TypeLink->TypeInfos['id'] : $envs['typeid'] );
-
- }
-
-
-
- if(empty($typeid)) return '';
-
-
-
- //$row = $dsql->GetOne("Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$typeid' ");
-
-
-
- $reid=$dsql->GetOne("Select reid From `dede_arctype` where id='$typeid' ");
-
- $reid=$reid['reid'];
-
- $row=$dsql->GetOne("Select id,reid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$reid' ");
-
-
-
- if(!is_array($row)) return '';
-
- if($row['reid']==0){$row['reid']=$row['id'];}
-
- 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
-
- {
-
- $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);
-
- foreach($dtp->CTags as $tagid=>$ctag)
-
- {
-
- if(isset($row[$ctag->GetName()])) $dtp->Assign($tagid,$row[$ctag->GetName()]);
-
- }
-
- $revalue = $dtp->GetResult();
-
- unset($dtp);
-
- return $revalue;
-
- }
-
- }
-
-
-
- ?>
-
-
复制代码
模板调用: {dede:retype}[field:typename/]{/dede:retype}
|
|