美文网首页
dede中tag标签如何添加链接以及链接修改静态页面的方法

dede中tag标签如何添加链接以及链接修改静态页面的方法

作者: 亚讯 | 来源:发表于2019-05-15 12:57 被阅读0次

    织梦DEDECMS调用文章TAG标签并加上链接的方法:

    1,首页,列表页和文章页调用所的tag标签

    {dede:tag row='8' getall='1' sort='month'}
    支持属性
    row|30   行数
    sort|new   排序
    getall|0 调用类型
    可以查看/include/taglib/tag.lib.php
    

    附加:

    <a href="" target="_blank">
        {dede:field name='keywords' runphp='yes' }
                 if(!empty(@me)){
                     $kws = explode(' ',@me);
                     @me = "";
                   foreach($kws as $k)
                   {
                       @me .= "<a href='/tag.php?/$k/'>$k</a> ";
                    }
                  @me= str_replace('+', ' ',trim(@me));
                }
        {/dede:field}
     </a>
    

    2、列表页调用每一篇文章的tag标签

    [field:id runphp=yes]
         $tsql = new DedeSql(false);
         $tags = '';
         $tsql->SetQuery("Select i.tag From ying_taglist t left join ying_tagindex i on i.id=t.tid where t.aid='@me'");
         $tsql->Execute('t');
         while($row = $tsql->GetArray('t',MYSQL_ASSOC)){
           $tags .= "<a href='/tags.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>";       
         }
         @me=$tags;
    [/field:id]
    
    

    3,文章页调用该篇正文的tag标签

    {dede:field.tags/}

    默认的TAG是无链接的,如果你希望该tag带上链接,则打开include/common.func.php ,大约755行,找到

    //获得某文档的所有tag
    function GetTags($aid)
    {
     global $dsql;
     $tags = '';
     $query = "Select tag From `ying_taglist` where aid='$aid' ";
     $dsql->Execute('tag',$query);
     while($row = $dsql->GetArray('tag'))
     {
      $tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);
     }
     return $tags;
    }
    
    修改为
    
    //获得某文档的所有tag
    function GetTags($aid)
    {
         global $dsql;
         $tags = '';
         $query = "Select tag From `dede_taglist` where aid='$aid' ";
         $dsql->Execute('tag',$query);
         while($row = $dsql->GetArray('tag'))
         {
             $tags.= ($tags=='' ? "<a  href=/tags.php?/{$row['tag']} target=_blank>{$row['tag']}</a>" : ','."<a href=/tags.php?/{$row['tag']} target=_blank>{$row['tag']}</a>");
         }
         return $tags;
    }
    
    

    织梦后台中的tag管理标签中的tag标签动态链接如何改为静态?

    1. 进入你的织梦dedecms后台,在左边找到“系统”-“系统基本设置”-“核心系统”,在下面有一项基本选项“”是否使用伪静态“在下面点击”是。“

    2. 在dedecms源代码的目录里找到 include/taglib/tag.lib.php 文件,大概在87行左右找到

        $row['link'] = $cfg_cmsurl."/tag.php?/"urlencode($row['keyword')."/"
    
        改为$row['link'] = $cfg_cmsurl."/tag/"urlencode($row['keyword'])".html"
    
    1. 依旧在dedecms源代码目录里找到
      templets/default/taglist.html找到
    <strong>当前位置:</strong>:<a href="{dede:global.cfg_cmsurl/}/">主页</a> ><a href='tags.php'>[TAG标签]</a>>{dede:field:title/}
    修改为:
    <strong>当前位置:</strong>:<a href="{dede:global.cfg_cmsurl/}/">主页</a>><a href='tags.html'>[TAG标签]</a>>{dede:field:title}
    
    1. 最后一步分2种情况,确保你的空间主机是基于什么服务器搭建的,现流的有APACHE和Nginx服务器

    (1)如果是linux+apache搭建的,在根目录新建http.ini文件(若是你写有其他规矩请直接把以下代码添加到httpd.ini):

        RewriteRule ^(.*)/tags\.html$1tags.php;
    
        RewriteRule ^(.*)/tags/(.*).html$1/tag.php?/$2;
    

    (2)如果空间是基于linu+nginx搭建的静态规则改为

          rewrite ^(.*)?tags\.html$1tags.php;
    
          rewrite ^(.*)/tag/(.*).html $1/tag:php?/$2;
    

    相关文章

      网友评论

          本文标题:dede中tag标签如何添加链接以及链接修改静态页面的方法

          本文链接:https://www.haomeiwen.com/subject/kukpaqtx.html