帝国cms搜索页面不支持灵动标签等调用的解决办法

时间:2016-02-23 21:32:37

分类:帝国教程

帝国cms的搜索页面默认是不支持灵动标签、万能标签这类标签调用的,可以直接写php查询,但这对新手来说是有门槛的,接下来cms大学和大家分享一下通过修改文件来让搜索页面、反馈页面、留言页面支持标签调用。

修改 e/search/result/index.php

原来的部分

折叠PHP 代码
  1. <?php  
  2. require("../../class/connect.php");  
  3. require("../../class/db_sql.php");  
  4. require("../../data/dbcache/class.php");  
  5. require("../../class/q_functions.php");  
  6. require "../".LoadLang("pub/fun.php");  

修改为

折叠PHP 代码
  1. <?php  
  2. require("../../class/connect.php");  
  3. require("../../class/db_sql.php");  
  4. require("../../class/functions.php");  
  5. require("../../class/t_functions.php");  
  6. require("../../data/dbcache/class.php");  
  7. require "../".LoadLang("pub/fun.php");  

查找  //替换公共模板变量 ,在它的上面增加:

折叠XML/HTML 代码
  1. //页面支持标签  
  2. $tempr[temptext]=DtNewsBq('list'.$tempid,$tempr[temptext],0);  

到这里搜索页面就可以支持标签调用数据了,但这样有bug,经过我们使用测试,发现在多个搜索页面模板间切换时,模板并没有变化。

经判断是缓存造成的,我们需要找到/e/class/functions.php文件,搜索 //标签替换4 ,在它的标签的后面增加一个标签,代码如下:

折叠PHP 代码
  1. //标签替换5  
  2. function DtNewsBq2($classid,$indextext,$ecms=0){  
  3. global $empire,$dbtbpre,$public_r,$emod_r,$class_r,$class_zr,$fun_r,$navclassid,$navinfor,$class_tr,$level_r,$etable_r;  
  4. $cachetime=0;  
  5. $file=ECMS_PATH.'e/data/tmp/list'.$classid.'.php';  
  6. if($cachetime&&file_exists($file)){  
  7. $filetime=filemtime($file);  
  8. $string=RepExeCode($string);//解析代码  
  9. return $string;  
  10. }  
  11. $indextext=stripSlashes($indextext);  
  12. $indextext=ReplaceTempvar($indextext);//替换全局模板变量  
  13. //替换标签  
  14. $indextext=DoRepEcmsLoopBq($indextext);  
  15. $indextext=RepBq($indextext);  
  16. //写文件  
  17. WriteFiletext($file,AddCheckViewTempCode().$indextext);  
  18. //读取文件内容  
  19. ob_start();  
  20. include($file);  
  21. $string=ob_get_contents();  
  22. ob_end_clean();  
  23. $string=RepExeCode($string);//解析代码  
  24. return $string;  
  25. }  

打开/e/search/result/index.php文件,查找  //替换公共模板变量  此处修改为:

折叠PHP 代码
  1. //页面支持标签  
  2. $tempr[temptext]=DtNewsBq2('list'.$tempid,$tempr[temptext],0);  

到这里,搜索页等动态页面不支持标签调用的问题就解决了。

相关文章

相关推荐

为帝国CMS用户提供动力

Copyright © 2016 CmsDX.com All Rights Reserved.