扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
[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}] []
站在用户的角度思考问题,与客户深入沟通,找到灵璧网站设计与灵璧网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广、申请域名、虚拟主机、企业邮箱。业务覆盖灵璧地区。
[/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个变量的区别
几种方式:
1、直接在帝国定义的userfun.php中扩充你自己定义的函数,然后在相应的程序页面中直接引用函数即可;
2、在列表模版可以勾选“使用程序代码”,然后写入PHP代码;
3、在相应的页面模版中直接嵌入PHP代码;
4、单独写PHP程序,放在某个目录下作为扩展,然后在帝国相应程序页面中引用。
1.标签上面的“操作类型”参数要设为24,然后“栏目id”为SQL语句
2.需要开启支持按SQL语句调用:打开e/class/connect.php文件(粗体文字的设置)
//部分参数设置
$do_theloginlog=0;
//是否记录登陆日志(0为记录,1为不记录)
$do_thedolog=0;
//是否记录操作日志(0为记录,1为不记录)
$do_openbqquery=0;
//开启标签支持sql语句查询(0为不支持,1为开启)
$do_openreadfile=0;
//开启读取页面标签支持读取服务器本地文件,为了安全,一般情况请不要开启(0为不支持,1为开启)
$do_txtpath="../../d/txt/";//文本型数据存放目录
?
3.调用例子,以ecmsinfo为例:
[ecmsinfo]"select
*
from
phome_ecms_news
where
classid=1
order
by
id
desc
limit
10",10,30,0,24,1,0[/ecmsinfo]
注:显示栏目id为1的10条新闻表记录。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流