演示链接:查看演示

dedecms导航当前状态高亮无法调用seotitle

这里有两个问题:
一、dedecmsCMS默认导航上是无法调用seotitel的,我们先得解决这个问题,{dede:channel}下调用seotitle

 

{dede:channel type=’top’}

 

<a href=’[field:typelink/]’>[field:typename/]</a>

 

{/dede:channel}

 

[field:typename/]这里要使用{dede:field.seotitle /},也就是说在dedecmsCMS{dede:channel}标签中调用栏目seotitle,如何实现?

 

如果要想在dedecmsCMS{dede:channel}标签中调用栏目seotitle,我们需要做一下简单的二次开发,步骤如下:

 

打开/include/taglib文件夹下的channel.lib.php,找到78行到94行:

 

  if($type==’top’)

 

    {

 

        $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath

 

          From `dede_arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line ";

 

    }

 

    else if($type==’son’)

 

    {

 

        if($typeid==0) return ’’;

 

        $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath

 

          From `dede_arctype` WHERE reid=’$typeid’ And ishidden<>1 order by sortrank asc limit 0, $line ";

 

    }

 

    else if($type==’self’)

 

    {

 

        if($reid==0) return ’’;

 

        $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath

 

            FROM `dede_arctype` WHERE reid=’$reid’ And ishidden<>1 order by sortrank asc limit 0, $line ";

 

    }

 

在sql语句里补充:Select id,typename,seotitle,…….就可以调用,如下图:

图片[1]-dedecms导航当前状态高亮无法调用seotitle-论坛搭建_网站论坛制作_论坛开发建设_800元全包

二、如何在这个高亮的状态下调用seotitle

{dede:channel type='top' currentstyle="<li><a href='~typelink~' class='hover'>~typename~<br>[field:seotitle/]</a></li>"}

 

<li><a href="[field:typelink/]">[field:typename/]<br>[field:seotitle/]</a></li>

 

{/dede:channel}

解决方法:找到 include\\taglib下面的channel.lib.php 140行
新增一行  $linkOkstr = str_replace("~seotitle~",$row['seotitle'],$linkOkstr);

图片[2]-dedecms导航当前状态高亮无法调用seotitle-论坛搭建_网站论坛制作_论坛开发建设_800元全包
 

THE END
喜欢就支持一下吧
点赞0 分享