|
  
- UID
- 1
- 帖子
- 3801
- 精华
- 66
- 积分
- 8365
- 威望
- 8365 度
- 论坛币
- 12643 元
- 阅读权限
- 200
- 在线时间
- 1528 小时
- 注册时间
- 2007-1-15
- 最后登录
- 2009-1-8
|
1楼
发表于 2008-1-18 10:26
| 只看该作者
2007年底的时候dedecms发布了5.0rc1版了,但是发现之前4.0版本里面的问题还继续存在
在文章模板和列表模板里面如果要调用当前类别是调不出来的,用自带的{dede:field name='position'/}标签只能取出"分类一>>分类二>>分类三>>"这种递归效果的类别,在有些时间并不需要将所有类别全部调出来,而只需要当前的类别,之前研究过,好象并没有太好的办法.............
既然没办法那就只能对他"动刀"啦
总共要修改3个文件
1.inc_typelink.php
找到- //----------------------------------------------
- //获得某类目的链接列表 如:类目一>>类目二>> 这样的形式
- //islink 表示返回的列表是否带连接
- //----------------------------------------------
- function GetPositionLink($islink=true)
- {
- .....
- }
复制代码 这个函数,然后再这个函数下面再上- //----------------------------------------------
- //获得某类目的当前链接列表 如:类目二>> 这样的形式
- //islink 表示返回的列表是否带连接
- //----------------------------------------------
- function GetCurrentPositionLink($islink=true)
- {
-
- $this->valuePosition = $this->GetOneTypeLink($this->TypeInfos);
- return $this->valuePosition;
-
- }
复制代码 2.inc_arclist_view.php 解析文章内容列表
找到- $this->Fields['id'] = $typeid;
- $this->Fields['position'] = $this->TypeLink->GetPositionLink(true);
复制代码 后面加上- $this->Fields['current_position'] = $this->TypeLink->GetCurrentPositionLink(true);
复制代码 "'current_position'"自己定义一个标签啦,在模板里面就用这个来调用当前类别啦.
3.inc_archives_view.php 解析文章内容
找到- $this->Fields['aid'] = $aid;
- $this->Fields['id'] = $aid;
- $this->Fields['position'] = $this->TypeLink->GetPositionLink(true);
- 后面加上
- $this->Fields['current_position'] = $this->TypeLink->GetCurrentPositionLink(true);
复制代码 OK啦,3个文件修改完毕.
在文章内容模板和列表模板中就可以用{dede:field name="current_position"/}调用当前分类名称啦
如果不需要链接的话,再稍微修改下就可以了 |
|