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

时间:2021-05-02

只是不能分组调用,并且没有排序
于是改了下,方法比较笨,里面的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都写出来又有点太多了

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章