阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

手机号码,快捷登录

老司机
查看: 1506|回复: 1

织梦(dede)中当前位置(position)标签,不显示隐藏栏目怎么实现?--详解篇

[复制链接]
  • TA的每日心情
    开心
    2021-8-30 00:00
  • 签到天数: 35 天

    [LV.5]常住居民I

    发表于 2013-4-15 13:16:59 | 显示全部楼层 |阅读模式
    实际项目中需要,在织梦position标签中把隐藏的栏目不显示在当前位置中,具体怎么做乃?如下:
    第一步:找到include文件夹里面的typelink.class.php文件,查找:“return $this->valuePosition.$this->SplitSymbol;”,在这句话之前添加如下这段:
    if(ord(substr($this->valuePosition,strlen($this->valuePosition)-2)) == 62)
    {
    $this->valuePosition = substr($this->valuePosition,0,strlen($this->valuePosition)-2);
    }
    第二步:查找LogicGetPosition($id,$islink)方法,修改查询sql语句,在sql遇见中添加字段ishidden,如:
    $this->dsql->SetQuery("Select id,reid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,ishidden From where id='".$id."'");
    这个字段是用来判断,查询出来的栏目名称是否隐藏。
    第三步:继续搜索“$this->valuePosition = $this->GetOneTypeLink($tinfos).$this->SplitSymbol.$this->valuePosition;”,改为:
    //判断栏目是否隐藏,如果隐藏不显示链接地址
    if ($tinfos['ishidden'] == 0){
    $this->valuePosition = $this->GetOneTypeLink($tinfos).$this->SplitSymbol.$this->valuePosition;
    }
    第四步:查找GetOneTypeLink($typeinfos)方法,把方法改为:
    function GetOneTypeLink($typeinfos)
    {
    //判断栏目是否隐藏,如果隐藏不显示链接地址
    if ($typeinfos['ishidden'] == 0){
      $typepage = $this->GetOneTypeUrl($typeinfos);
      $typelink = "<a href='".$typepage."'>".$typeinfos['typename']."</a>";  
      return $typelink;
    }  
    }
    主要是加了一个判断栏目是否隐藏的条件。
    完成这四步,你可以去试试了,恭喜你,搞定了。
    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2013-12-26 20:49
  • 签到天数: 78 天

    [LV.6]常住居民II

    发表于 2013-4-15 14:31:22 | 显示全部楼层
    这个不会。不知道啊                           
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表