DedeCMS织梦

Dede菜单修正不能获取外部链接

也想出现在这里?联系我们
创客主机

我们用 dedecms 制作下拉菜单导航时,可以使用 channelartlist 循环调用顶级栏目和子栏目,下拉菜单时这一段代码可以搞定多个顶级栏目和子级栏目的同时输出。代码演示如下:

  1. <div>
  2.     <ul>
  3.    {dede:channelartlist row=6}只能首页用,子页要用改成{dede:channelartlist row=6 typeid='top'}
  4.     <li>
  5.     <h3><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a>></h3>
  6.          <ul>
  7.              {dede:channel type='son' noself='true'}
  8.              <li><a href='[field:typelink/]'>[field:typename/]</a></li>
  9.              {/dede:channel}
  10.          </ul>
  11.      </li>
  12.    {/dede:channelartlist}
  13.    </ul>
  14. </div>

注:如果你想控制顶级栏目的个数,请更改上面第一行红色的 row 参数,但这样循环,如果栏目属性是外部链接就不会输出,如果需要显示外部链接,5.7 可以找 include/taglib/channelartlist.lib.php 第 67 行左右去掉红色代码

  1. $tpsql = " reid=0 AND ispart<>2 AND ishidden<>1 AND channeltype>0 ";

改成

  1. $tpsql = " reid=0 AND ishidden<>1 AND channeltype>0 ";

即删除 AND ispart<>2 ,完美解决。如果栏目为外部链接时默认使用新窗口打开,其它栏目使用当前窗口打开的修改方法。
查找:

  1. $pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);

在代码的下一行增加:
if($typeids[$i]['ispart'] == 2){

$pv->Fields['typeurl'] = $pv->Fields['typeurl'].'" target="_blank';
}

(0)

本文由 创客云 作者:创客云 发表,转载请注明来源!

热评文章

发表评论

精彩推荐

Supro - 极简电商WordPress汉化主题

钻石珠宝奢侈品DedeCMS织梦模板

嘿,欢迎咨询!