重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
我做了这么多帝国cms了,test.txt这个文件几乎极少用到,至于title.txt这个文件,官方的帝国cms源代码包里面是没有这个文件的,不知道你是从哪儿下载的。
创新互联从2013年开始,先为乡宁等服务建站,乡宁等地企业,进行企业商务咨询服务。为乡宁企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
因为平常都很少用到,官方似乎也没有太多这方面的教程,网上也搜不到相关有用的信息,我给出我自己的答案,仅供参考:
1、test.txt:我原先猜测test.txt可能是帝国cms官方给出的测试用的搜索关键词,但是打开这个文件,只有简单的一行代码!--EmpireCMS--,让人摸不着头脑,百度一下也没有相关方面的介绍,官方文档也没有描述。后来我在\e\class\comdofun.php文件中的ClearTmpFileData()函数中找到了该文件的用法。这个函数是帝国后台的数据更新功能中 “清空临时数据与文件”操作用的。我仔细查看了该函数对test.txt的用法,基本可以确定,test.txt的用途,只是用来提供帝国检验 某个文件夹或目录 的可写可读等 权限用的。换句话说,这是帝国的系统自带的检测功能的某个组成部分,对于用户来说,绝大多数情况下 几乎不会用到 这个文件。
建议:保留这个文件,如果删除可能导致帝国对该目录 的检测失灵。
2、title.txt:这个不是帝国官方的文件,我看了一下你的截图,里面的格式应该属于 常用的标题搜索热词 之类的。具体看内容,我猜你很有可能下载的是 影视类的帝国cms,是经过别人再次开发过的源代码,由于我没有你这个版本的 源代码,所以不能肯定 这个文件是否 在别人开发过的源代码中被引用到。建议你也保留。
[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个变量的区别
form action='/e/search/index.php' method="post" name="search_news" id="search_news"
input type="hidden" name="show" value="title" style="display:none;" /
input name="keyboard" type="text" class="search-keyword" id="keyboard" value="在这里搜索..." onfocus="if(this.value=='在这里搜索...'){this.value='';}" onblur="if(this.value==''){this.value='在这里搜索...';}" /
input type="submit" name="Submit22" value="" class="s_sumbit"/
/form
你把上面的form放到相应的位置即可。这就是帝国cms的搜索。