dede:field name=position去除最后一个大于符号

时间:2023-01-21 19:38:49
事情: 

dede提供了面包屑的功能。但是最后面总会带一个'>'符号。甚是烦人。目标干掉它。 

第一种解决方法: 1. 在系统参数里面修改这个符号。 

第二种解决方法: 2. 使用截子符,runphp操作(网上百度很多,遗憾是我没有试验成功)。 

第三种解决方法: 3. 修改底层代码。(我采用的这种,试验了,可以)。 

解决: 

找到 include/typelink.class.php 文件。 
找到下面的方法。 

复制代码
代码如下:

//获得某类目的链接列表 如:类目一>>类目二>> 这样的形式 
//islink 表示返回的列表是否带连接 
function GetPositionLink($islink=true) 

$indexpage = "<a href='".$this->indexUrl."'>".$this->indexName."</a>"; 
if($this->valuePosition!="" && $islink) 

return $this->valuePosition; 

else if($this->valuePositionName!="" && !$islink) 

return $this->valuePositionName; 

else if($this->TypeID==0) 

if($islink) 

return $indexpage; 

else 

return "没指定分类!"; 


else 

if($islink) 

$this->valuePosition = $this->GetOneTypeLink($this->TypeInfos); 
if($this->TypeInfos['reid']!=0) 

//调用递归逻辑 
$this->LogicGetPosition($this->TypeInfos['reid'],true); 

$this->valuePosition = $indexpage.$this->SplitSymbol.$this->valuePosition; 
return $this->valuePosition.$this->SplitSymbol; //需要修改这里..... 

else 

$this->valuePositionName = $this->TypeInfos['typename']; 
if($this->TypeInfos['reid']!=0) 

//调用递归逻辑 
$this->LogicGetPosition($this->TypeInfos['reid'],false); 

return $this->valuePositionName; 



将上面的需要修改的行,改成这样即可: return $this->valuePosition; 

5. 最终模板调用的{dede:field name='position'/}。 最终效果图如下: 

dede:field name=position去除最后一个大于符号