1. 程式人生 > >dede取子欄目時重複顯示同級欄目的終極解決方法

dede取子欄目時重複顯示同級欄目的終極解決方法

使用channelartlist標籤時,當欄目沒有子欄目是,會出現重複同級欄目的問題,解決方法如下:

先看下面的程式碼
{dede:channelartlist typeid='2'}
  {dede:type}
  <tr>
  <td><a href="[field:typelink /]">[field:typename/]</a></td>
  </tr>
  {/dede:type}
  {dede:channel type='son' noself='yes'}(這個屬性是eims當中的在include/taglib/下面的channel.lib.php檔案當中)
  <tr>
  <td><a href="[field:typelink/]">[field:typename/]</a></td>
  </tr>
  {/dede:channel}
{/dede:channelartlist}


此程式碼執行結果可以看到如果存在子類那麼能夠取出子類欄目這是因為為channel標籤添加了noself='yes'的屬性(這個屬性是eims當中的在include/taglib/下面的channel.lib.php檔案當中)

解決方法:
如果是dedecms5.6/5.7則需要做以下修改 還是開啟那個channel.lib.php檔案找到
找到
if($type=='son' && $reid!=0 && $totalRow==0)


改成
if($type=='son' && $reid!=0 && $totalRow==0 && $noself=='')

至此,方法解決。

潔麗雅 全棉毛巾 柔軟吸水 純棉毛巾 情侶款 潔麗雅毛巾批發 爆款