phpcms 搜索列表页和导航栏冲突解决方法

发布时间:2017-04-23    浏览次数:

在phpcmsv9的搜索页面中没有网站导航栏,是一个独立的模块,所以风格上与首页与文章页不统一。为了使搜索页面与首页风格统一需要更换搜索页面的模板。但是在添加导航后搜索结果输出不正确.

问题原因是搜索程序保存搜索结果的变量是$data,但是pc标签一般使用的返回变量也是$data,这样在之前调整了导航标签后搜索结果就会与之前的data变量重叠,看好,是重叠,不是覆盖。这样再输出搜索结果时就会出现不正常的现象,但是程序还不报错。

处理方法:使用pc标签的return参数,把这个页面上所有的pc标签返回变量修改成其它变量,如:

 {pc:content action="category" catid="0" num="6" siteid="$siteid" order="listorder ASC" return="data2"}
 <li {if !$catid} class="active"{/if}><a href="{siteurl($siteid)}">首页</a></li>
  {loop $data2 $r}
 <li {if $catid==$r[catid]||$top_parentid==$r[catid]||$parentid==$r[catid]} class="active"{/if}><a href='{$r[url]}'>{$r[catname]}</a></li>
 {/loop}
 {/pc}
用这样的标签调用网站导航,这样搜索结果就能正常显示了。