龍媒SEO專注高端網站建設,網站優化,營銷型網站設計
微信:sh99002313  電話:189 6217 7230

蘇州高端網站設計
Our toughts in one place

織夢dedecms TAG標簽調用匯總

發布者:龍媒SEO 來源: 時間:2019-12-19 查看:1937次

很多網站的首頁、列表頁和文章頁調用的TAG關鍵詞是帶超鏈接,這樣利于蜘蛛搜索抓取,又有利于用戶點擊,那在織夢dedecms系統的網站上該如何實現這一功能呢?對此,島主整理了以下幾種方法供大家使用:

TAG標簽調用匯總

1、tag標簽的語法解釋

基本語法:

{dede:tag row='30' sort='new' getall='0'}
  [field:tag /]
  {/dede:tag}

參數說明:

row='30' 調用條數為30條

sort='new' 排序方式month,rand,week

getall='0' 獲取類型0為當前內容頁TAG標記,1為獲取全部TAG標記。

底層模板字段:link,tag

2、最新tag標簽調用

{dede:tag row='30' sort='new'}
  [field:highlight/]([field:result/])
  {/dede:tag}

3、當月熱門tag標簽調用

{dede:tag row='30' sort='month'}
  [field:tagname/]([field:result/])
  {/dede:tag}

4、隨機tag標簽調用

{dede:tag row='60' sort='rand'}
  [field:highlight/]([field:result/])
  {/dede:tag}

5、采集熱門Tags,刷新一次變換一次

模板代碼:

{dede:tag row='10' sort='month' }
  [field:tagname/] 
  {/dede:tag}
  
  
  </script>

CSS代碼:

.tag1 { color:#339900;font-weight:bold;}
  .tag2 { color:#e65730;}
  .tag3 { color:#00b9da;}
  .tag4 { color:#FE3981;font-weight:bold;font-size:14px;}

6、文章頁tag標簽調用

{dede:tag table='dede_search_keywords' sort='keyword' row='2' if=''}
  [field:tag /]
  {/dede:tag}

{dede:field name='keywords' runphp='yes' }
  if(!empty(@me)){
  $kws = explode(' ',@me);
  @me = "";
  foreach($kws as $k){
  @me .= "$k ";
  }
  @me= str_replace('+', ' ',trim(@me));
  }
  {/dede:field}

7、列表頁調用TAG標簽的兩種方法

dedecms默認在列表是無法調用tag標簽的,經過島主再次對織夢代碼的研讀及收集,現給大家再提供以下不同版本的tag標簽調用方法:

(1)、dedecms5.7版本的調用方法

首先,找到include\helpers\archive.helper.php文件(注:有朋友會疑問,主頁和頻道、列表應該加的是不同的調用,不過本人開始用列表頁測試,成功;加入主頁后測試也是成功顯示的,所以我就沒再繼續深究下去了,另外,這個文件的內容更改,在后臺文件是更改不了的,提示是注入sql,所以要在ftp中找到這個文件進行更改才行0。)

在底部增加:

function GetTags_list($aid)
      {
          global $dsql;
          $tags = '';
          $query = "Select tag FROM `ma_taglist` Where aid='$aid' ";
          $dsql->Execute('tag',$query);
          while($row = $dsql->GetArray('tag'))
          {
          $tags .= ($tags=='' ? "".$row['tag']."" : ','."".$row['tag']."");
          }
          return $tags;
      }

然后,在列表需要調用tag標簽的位置添加:

[field:id function=GetTags_list(@me)/]


即可完成。

(2)、dedecms5.6版本的調用方法

方法一:


直接在模板需要的位置加入以下代碼即可:

[field:id runphp=yes]
  $tsql = new DedeSql(false);
  $tags = ”;
  $tsql->SetQuery(“Select i.tag From dede_taglist t left join dede_tagindex i on i.id=t.tid where t.aid=’@me’”);
  $tsql->Execute(‘t’);
  while($row = $tsql->GetArray(‘t’,MYSQL_ASSOC)){
  $tags .= “”.$row['tag'].””;
  }
  @me=$tags;
  [/field:id]

注:這一步dede5.7版本里面實現不了。

方法二:

打開dedecms根目錄include/common.func.php,在最底部的“?>”之前加入以下代碼:

//島主:列表頁調用tag的方法

  function listtag($aid)
  {
  $tsql = new DedeSql(false);
  $tags = ”;
  $tsql->SetQuery(“Select i.tag From dede_taglist t left join dede_tagindex i on i.id=t.tid where t.aid=’$aid’”);
  $tsql->Execute(‘t’);
  while($row = $tsql->GetArray(‘t’,MYSQL_ASSOC)){
  $tags .= “”.$row['tag'].” “;
  }
  return $tags;
  }
  {dede:field.id runphp=yes}
  $tsql = new DedeSql(false);
  $tags = ”;
  $tsql->SetQuery(“Select i.tag From dede_taglist t left join dede_tagindex i on i.id=t.tid where t.aid=’@me’”);
  $tsql->Execute(‘t’);
  while($row = $tsql->GetArray(‘t’,MYSQL_ASSOC)){
  $tags .= “”.$row['tag'].””;
  }
  @me=$tags;
  {/dede:field.id}

添加代碼后,在列表頁可以使用:

{dede:field.id function=”listtag(@me)”/}

來調用tag標簽。

方法三:

在include/inc_functions.php文件里加入:

function listtag($aid){
  $tsql = new DedeSql(false);
  $tags = '';
  $tsql->SetQuery("Select i.tagname From xkzzz_tag_list t left join xkzzz_tag_index i on i.id=t.tid where t.aid='$aid'");
  $tsql->Execute('t');
  while($row = $tsql->GetArray('t',MYSQL_ASSOC)){
  $tags .= "".$row['tagname']."";
  }
  return $tags;
  }


然后在列表頁相應位置加入:

[field:ID function="listtag(@me)"/]


就可以調用出來了,只不過這個方法也需要改動程序文件,看不懂代碼的朋友,慎用!

8、首頁調用文章TAG標簽的方法

如果你網站用的是dedecms v5.7版本可直接使用標簽:

[field:id function=GetTags(@me)/]

就可以調用出來了,只不過不帶連接的,要想給tag標簽加上鏈接,還需要進行以下操作:

首先,注釋掉include/helpers/archive.helper.php文件的130行,

$tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);

用下面語句替換,當然你也可以加入自己的樣式:

$tags .= "".$row['tag']." ";

再再下面空白處加入以下代碼:

if ( ! function_exists('GetTagk')){
  function GetTagk($aid) 
  {
  global $dsql; 
  $tagk = ''; 
  $query = "Select tag,aid FROM `ma_taglist` Where aid='$aid' ";
  $dsql->Execute('tag',$query);
  while($row = $dsql->GetArray('tag'))
  { 
  $tagk .= ($tagk=='' ? $row['tag'] : ','.$row['tag']);
    }
    return $tagk;
    }
  }

然后,打開dede/article_edit.php找到:

$tags = GetTags($aid);

在下面加上:

$tagk = GetTagk($aid);

再打開dede/templets/article_edit.htm再調用tag標簽那里把:

改成:

這樣調用的時候可以調用tag,后臺顯示也能正常顯示。



標簽:
好看的中文字幕