当前位置:首页 > 行业动态 > 正文

dedecms搜索结果页怎么实现按频道模型显示不同结果模板

要实现dedecms搜索结果页按频道模型显示不同结果模板,可以按照以下步骤进行操作:

1、创建不同的结果模板

在dedecms的模板目录下,创建不同的结果模板文件,例如result_article.htm、result_product.htm等,用于展示不同频道模型的搜索结果。

2、创建搜索结果页模板

在dedecms的模板目录下,创建一个搜索结果页模板文件,例如search_result.htm,用于展示搜索结果。

3、获取当前搜索频道的模型ID

在search_result.htm中,使用dedecms的标签{dede:field.typeid}获取当前搜索频道的模型ID。

4、根据模型ID调用不同的结果模板

在search_result.htm中,使用dedecms的include标签根据模型ID调用不同的结果模板,示例代码如下:

{dede:include file="result_{dede:field.typeid}_result.htm"}

5、在每个结果模板中定义对应的模型ID

在每个结果模板文件(如result_article.htm、result_product.htm)中,定义一个变量typeid,并设置对应的模型ID,示例代码如下:

{dede:define id="typeid" value="1"}

6、在搜索结果页模板中判断是否为搜索结果

在search_result.htm中,使用dedecms的global标签判断是否为搜索结果,如果不是搜索结果则跳转到其他页面,示例代码如下:

{dede:global name="isSearchResult" value="0" type="bool"}
{if $isSearchResult eq false}
    {dede:rewrite runphp="yes"}
        header("Location: /");
        exit;
    {/dede:rewrite}
{/if}

通过以上步骤,可以实现dedecms搜索结果页按频道模型显示不同结果模板。

0