帝国cms搜索页面支持标签

修改 e/search/result/index.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");
复制代码


修改为:
  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");
复制代码

查找  //替换公共模板变量  在上面增加:
  1. //页面支持标签
  2. $tempr[temptext]=DtNewsBq('list'.$tempid,$tempr[temptext],0);
复制代码

这样搜索页面就可以支持标签使用 。









此方法有BUG 会缓存标签,造成使用两个搜索模板的时候切换不成功。解决方法如下:
找到/e/class/functions.php,搜索 //标签替换4在这个标签的后面增加一个标签,实例代码如下:
  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查找  //替换公共模板变量  此处修改为:
  1. //页面支持标签
  2. $tempr[temptext]=DtNewsBq2('list'.$tempid,$tempr[temptext],0);//xuan
复制代码

这样即可消除此BUG,虽然不完善,但是足够使用了。
标签:
分享:

相关文章