discuz 任意位置调用友情链接的升级版

discuz教程
只是不能分组调用,并且没有排序

 

于是改了下,方法比较笨,里面的css标签你自行替换成自己的

 

<!--{eval $flinks8 = DB::fetch_all("SELECT * FROM ".DB::table('common_friendlink')." WHERE `type`= '8' order by displayorder asc;");}--> <!--{if $flinks8}--> <div class="cell"> <!--{loop $flinks8 $link8}--> <a href="<!--{$link8[url]}-->" title="<!--{$link1[description]}-->" style="font-size: 14px;" class="indent" target="_blank"><!--{$link8[name]}--></a> <!--{/loop}--> </div> <!--{/if}--> <!--{eval $flinks4 = DB::fetch_all("SELECT * FROM ".DB::table('common_friendlink')." WHERE `type`= '4' order by displayorder asc;");}--> <!--{if $flinks4}--> <div class="cell"> <!--{loop $flinks4 $link4}--> <a href="<!--{$link4[url]}-->" title="<!--{$link4[description]}-->" style="font-size: 14px;" class="indent" target="_blank"><!--{$link4[name]}--></a> <!--{/loop}--> </div> <!--{/if}--> <!--{eval $flinks2 = DB::fetch_all("SELECT * FROM ".DB::table('common_friendlink')." WHERE `type`= '2' order by displayorder asc;");}--> <!--{if $flinks2}--> <div class="cell"> <!--{loop $flinks2 $link2}--> <a href="<!--{$link2[url]}-->" title="<!--{$link2[description]}-->" style="font-size: 14px;" class="indent" target="_blank"><!--{$link2[name]}--></a> <!--{/loop}--> </div> <!--{/if}--> <!--{eval $flinks1 = DB::fetch_all("SELECT * FROM ".DB::table('common_friendlink')." WHERE `type`= '1' order by displayorder asc;");}--> <!--{if $flinks1}--> <div class="cell"> <!--{loop $flinks1 $link1}--> <a href="<!--{$link1[url]}-->" title="<!--{$link1[description]}-->" style="font-size: 14px;" class="indent" target="_blank"><!--{$link1[name]}--></a> <!--{/loop}--> </div> <!--{/if}-->

为什么要这样调用呢?发现type其实就是分组的id

但是他的逻辑是这样的

分组一二三四的id分别是8.4.2.1

这样分别查询数据库就能得到相应分组的链接

加上order by displayorder asc 就是从小到大排列,这样就能读取到后台的排列顺序了

不过

还有一个比较变态的是一个链接可以选择多个分组,那么dz是如何定义这多个分组id的呢?

它用了加法,也就是比如:链接1在分组三和分组四里面,那它的分组id也就是type就是 3

所以

这样上面的代码如果一个链接有多个分组就无法查询到,因为type=3

但是如果把4个分组相加的type都写出来又有点太多了

标签: