帝国cms怎么用万能标签调用父栏目下所有文章?

如题,我的网站结构是首页-一级栏目-二级栏目-内容页,现在想在内容页调用一级栏目下的所有文章,请问用万能标签或者其他标签也行,怎么实现?我试过用[ecmsinfo]'se... 如题,我的网站结构是首页-一级栏目-二级栏目-内容页,现在想在内容页调用一级栏目下的所有文章,请问用万能标签或者其他标签也行,怎么实现?我试过用
[ecmsinfo] 'select * from [!db.pre!]ecms_news where classid=[!--bclass.id--]',10,34,0,1,2,0,'','newstime DESC'[/ecmsinfo]
和[ecmsinfo] '[!--bclass.id--]',10,34,0,1,2,0,'','newstime DESC'[/ecmsinfo]都显示错误,求高手解答,并告知我第一串代码哪里错了,谢谢。
展开
 我来答
鳑鲏鱼
推荐于2016-04-20 · TA获得超过3326个赞
知道小有建树答主
回答量:684
采纳率:100%
帮助的人:646万
展开全部
<?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]?></a><br />
[/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个变量的区别
追问
不好意思,可能我问他没表述清楚。调用一级栏目下的所有文章,是指此文章页所属一级栏目下的所有文章。您发的这串代码,我试了之后发现是调用的整站文章,也就是调用了所有一级栏目的文章,麻烦帮忙看看怎么修改。。追加100分
追答
嗯,你的意思我没有弄错,因为我一开始获取的就是本栏目的顶级栏目ID,如果是全站我就没必要获取了。

错误还是在mysql语句和变量的连接上,改成下面这样就行,双引号放外面,里面是单引号,我顺便把right join换成了inner join,这个不是关键,不过觉得这个更好一点

[e:loop={"select * from [!db.pre!]enewsclass as a inner join [!db.pre!]ecms_news as b on a.classid=b.classid and a.bclassid='$topbclassid'",1,24,0}]
鸢梨的小布丁
推荐于2018-03-30 · TA获得超过2.8万个赞
知道大有可为答主
回答量:2.3万
采纳率:21%
帮助的人:2218万
展开全部
用灵动标签指定好栏目ID就是调用的那个栏目的。
只能列出所有id,没有别的方法,因为如果给轻易掉出所有的栏目,那么当只需要调用某一两个的时候怎么办,只能通过这一两个的栏目id调用他们,所有如果想调用多个就必须填写他们的栏目id,标签这样设计应该也是为了不起冲突,当然如果会改写的话,写个sql语句直接调用不是太简单了,标签没有这个功能。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式