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

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

问题原因是搜索程序保存搜索结果的变量是 $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}
		<a href="{$r[url]}">{$r[catname]}</a>
	{/loop}
{/pc}

用这样的标签调用网站导航,这样搜索结果就能正常显示了。