问题原因是搜索程序保存搜索结果的变量是$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}
用这样的标签调用网站导航,这样搜索结果就能正常显示了。