dede:field name=position去除最后一个大于符号
2014-05-10来源:易贤网

事情:

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'/}。 最终效果图如下:

1.jpg

更多信息请查看IT技术专栏

推荐信息