壹.当phpcms里面的搜索页面模板、搜索列表页模板拼接content里面的头部和底部模板时,如果头部里面有数据循环输出,则搜索结果的列表会出现错误,原因及解决方法如下,转自这里:
在phpcmsv9的搜索页面中没有网站导航栏,是一个独立的模块,所以风格上与首页与文章页不统一。为了使搜索页面与首页风格统一需要更换搜索页面的模板。但是在添加导航后搜索结果输出不正确,显示好多1.
问题原因是搜索程序保存搜索结果的变量是$data,但是pc标签一般使用的返回变量也是$data,这样在之前调整了导航标签后搜索结果就会与之前的data变量重叠,看好,是重叠,不是覆盖。这样再输出搜索结果时就会出现不正常的现象,但是程序还不报错。
处理方法:使用pc标签的return参数,把这个页面上所有的pc标签返回变量修改成其它变量,如:
{pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC" return="data2"} {loop $data2 $r} <li><a href="{$r[url]}"><span>{$r[catname]}</span></a></li> {/loop} {/pc}
注:当栏目输出超过两级或等于二级时第二级以上的return返回值是无法自定义的,而搜索页的返回值默认是data,所以还是会引起冲突!
贰.在搜索页是不能直接调用{$CATEGORYS[1][catname]}、{$CATEGORYS[8][url]}这样的,但是可以采用激活缓存的方法:
先添加<?php $SITE = getcache('category_content_1','commons');?>激活所在的缓存文件,然后调用{$SITE[2][catname]},就可以调用与id为2的栏目名称了!比较神奇。(在wap的单页里也可使用此方法)
有朋自远方来...评论一下呗O(∩_∩)O