重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
?php
站在用户的角度思考问题,与客户深入沟通,找到昔阳网站设计与昔阳网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、做网站、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟空间、企业邮箱。业务覆盖昔阳地区。
$fcr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]);
$topbclassid=$fcr[1]?$fcr[1]:$GLOBALS[navclassid];//取得当前栏目的顶级栏目ID
//echo $topbclassid;
?
[e:loop={'select * from [!db.pre!]enewsclass as a right join [!db.pre!]ecms_news as b on a.classid=b.classid and a.bclassid='.$topbclassid.'',1,24,0}]
[?=$bqno?]a href="?=$bqsr[titleurl]?" target="_blank"?=$bqr[title]?/abr /
[/e:loop]
首先,我也好久没有弄过帝国了,很多东西都忘了,凭仅有的记忆和网上搜索,在6.6版本里测试了一下,以上方法是有效的。
关于[!--bclass.id--]这个标签,记得外面的[!-- --]这个是输出的意思,相当于echo吧,所以放在标签里怎么都不对了,因为它并不需要在那里输出,
其次在[!db.pre!]ecms_news数据表里的classid是本栏目id,比如你顶级栏目2下面有34,35,36,37,新闻表里只能查34,35,36,37栏目的新闻,所以你classid=[!--bclass.id--]这样写就算[!--bclass.id--]没有输出的问题也是不正确的
所以我用了联合查询的mysql,同时查栏目表和新闻表,在栏目表查出哪个栏目的父栏目id是2,得出34,35,36,37,然后去新闻表查属于这4个栏目的新闻
最上面取得当前栏目的顶级栏目ID是在网上搜的,测试过是对的,它应该比[!--bclass.id--]好吧,记得[!--bclass.id--]好像只是父栏目id,如果有3级栏目是不是就不能获取一级栏目了,我记不太清了,你可以自己测试一下2个变量的区别
不需要使用灵动标签,万能标签就足够了。
帝国CMS自带的语法标签说明: e/admin/template/EnewsBq.php
格式:[ecmsinfo]栏目ID/专题ID,显示条数,标题截取数,是否显示栏目名,操作类型,模板ID,只显示有标题图片,附加SQL条件,显示排序[/ecmsinfo]
根据自己要的效果修改上述的参数
一. 栏目调用只能通过栏目id来逐个调用
1. 比如调用ID为1,2,3的三个栏目最新的信息(按栏目调用最新信息的操作类型为0)
[ecmsinfo]‘1,2,3’,显示条数,标题截取数,是否显示栏目名,0,模板ID,只显示有标题图片,附加SQL条件,显示排序[/ecmsinfo]
2. 调用本栏目最新信息可用selfinfo,同样操作类型为0
[ecmsinfo]‘selfinfo’,显示条数,标题截取数,是否显示栏目名,0,模板ID,只显示有标题图片,附加SQL条件,显示排序[/ecmsinfo]
二. 如果你想调用所有栏目的话,只要你的所有栏目都是相同模型就可以,比如所有栏目都是文章模型或者新闻模型,此时你可以通过调用数据表的方式
比如调用新闻表的所有最新信息,各表最新信息 (栏目ID='表名') 操作类型为18
[ecmsinfo]‘news’,显示条数,标题截取数,是否显示栏目名,18,模板ID,只显示有标题图片,附加SQL条件,显示排序[/ecmsinfo]
此外,还有许多调用方式,比如按专题,按标题分类,按默认表,按SQL调用,默认的万能标签就完全可以达到你想要的效果,完全不需要用到超级灵活的灵动标签,灵动标签更适合懂得php代码的定制
帝国有分页的标签,父栏目调用本栏目文章直接使用灵动标签调用文章,ID就是父栏目的ID
这个问题有点复杂,如果要适用于所有的模型和栏目分类的话
那这个东西就要点时间,首先获取当前数据模型,然后获取当前数据表,然后再获取栏目分类,再获取文章列表
可以扫描都我图像,或者发你的联系方式到我的百度私信,私聊给你解决