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

如何在织梦dede中配置搜索结果页以根据频道模型显示不同的模板?

要实现织梦dede搜索结果页按频道模型显示不同模板,可以通过修改搜索模块的模板文件来实现。具体操作步骤如下:,,1. 打开织梦后台,找到“模板管理”菜单,点击进入。,2. 在模板管理页面中,找到搜索模块的模板文件,通常名为“search.htm”。,3. 下载并编辑该模板文件,根据需要添加不同的 频道模型判断语句,,“ html,{dede:field name='typeid' function='GetTopType(@me)'}, {dede:channel type='top' row='10'}, [field:typename/], {/dede:channel},{/dede:field},` ,4. 根据不同的频道模型,加载对应的模板文件,,` html,{dede:field name='typeid' function='GetTopType(@me)'}, {dede:include filename='templets/search_model1.htm'},{/dede:field},“,5. 保存修改后的模板文件,并上传到服务器覆盖原文件。,6. 更新缓存,使修改生效。,,通过以上步骤,可以实现织梦dede 搜索结果页按频道模型显示不同模板。

在织梦DedeCMS中,实现搜索结果页按频道模型显示不同模板,可以通过以下步骤来实现:

1、在head区域添加JavaScript函数

在模板文件的<head>标签内添加如下JavaScript代码:

“`html

<script language="javascript" type="text/javascript">

function check() {

if (document.formsearch.channeltype.value == "3") {

document.formsearch.action = "{dede:field name=’phpurl’/}/search_images.php";

} else {

document.formsearch.action = "{dede:field name=’phpurl’/}/search.php";

}

}

</script>

“`

2、修改搜索表单代码

将搜索表单代码更改为:

“`html

<form name="formsearch" action="" onsubmit="return check();">

<div class="form">

<input type="hidden" name="kwtype" value="0" />

<input name="q" type="text" class="searchkeyword" id="searchkeyword" value="{dede:global name=’keyword’ function=’RemoveXSS(@me)’/}" />

<select name="channeltype" id="channeltype">

<option value="1" selected="selected">新闻</option>

<option value="3">软件</option>

</select>

<button type="submit" class="searchsubmit">搜索</button>

</div>

</form>

“`

3、复制并重命名search.php文件

search.php文件复制一份并重命名为search_images.php

4、修改search_images.php文件

打开search_images.php文件,找到以下代码:

“`php

require_once(DEDEINC."/arc.searchview.class.php");

“`

将其更改为:

“`php

require_once(DEDEINC."/arc.searchimg.class.php");

“`

5、复制并重命名arc.searchview.class.php文件

arc.searchview.class.php文件复制一份并重命名为arc.searchimg.class.php

6、修改arc.searchimg.class.php文件

打开arc.searchimg.class.php文件,找到以下代码:

“`php

$tempfile = $GLOBALS[‘cfg_basedir’].$GLOBALS[‘cfg_templets_dir’]."/".$GLOBALS[‘cfg_df_style’]."/search.htm";

“`

将其更改为:

“`php

$tempfile = $GLOBALS[‘cfg_basedir’].$GLOBALS[‘cfg_templets_dir’]."/".$GLOBALS[‘cfg_df_style’]."/search_images.htm";

“`

通过以上步骤,即可实现在DedeCMS中根据不同的频道模型显示不同的搜索结果模板,当选择“新闻”频道时,会使用search.php对应的模板,而选择“软件”频道时,则会使用search_images.php对应的模板。

为了实现在织梦dede内容管理系统(CMS)中,搜索结果页按频道模型显示不同模板的功能,可以按照以下步骤进行操作:

1. 准备工作

确保织梦dede系统已安装并正常使用。

确认已创建不同的频道模型,并为每个频道模型设置了不同的模板。

2. 修改搜索结果模板

登录织梦dede后台管理。

进入“模板”管理界面。

找到并选择“搜索结果页”模板文件(通常文件名为search.htm)。

3. 模板代码修改

打开search.htm 文件,准备进行编辑。

在模板中,找到用于显示搜索结果的代码部分。

搜索结果是通过 `{dede:arclist} 标签实现的。

4. 添加频道模型判断逻辑

在 `{dede:arclist} 标签内,添加频道模型判断逻辑。

使用{dede:field name='channelid' /} 获取当前文章的频道ID。

使用{dede:global name='nowChannel' /} 获取当前频道模型的信息。

以下是一个示例代码片段:

{dede:arclist row='10' titlelen='50'}
{dede:field name='channelid' /} <!获取文章的频道ID >
{dede:global name='nowChannel' /} <!获取当前频道模型信息 >
<!根据频道ID判断并使用不同的模板 >
{if "{dede:field name='channelid' /}"=="1"} <!假设频道ID为1使用特定模板 >
    <div class="searchresultmodel1">
        {dede:field.title /}
        <!其他内容 >
    </div>
{elseif "{dede:field name='channelid' /}"=="2"} <!假设频道ID为2使用特定模板 >
    <div class="searchresultmodel2">
        {dede:field.title /}
        <!其他内容 >
    </div>
<!可以继续添加更多的频道判断 >
{else}
    <div class="searchresultdefault">
        {dede:field.title /}
        <!其他内容 >
    </div>
{/if}
{/dede:arclist}

5. 保存并测试

保存对search.htm 文件的修改。

在织梦dede后台进行搜索测试,检查不同频道模型下的搜索结果是否使用了正确的模板。

6. 验证

确保所有频道模型都按照预期使用了正确的模板。

如果一切正常,搜索结果页将按频道模型显示不同的模板。

步骤可以帮助您在织梦dede中实现搜索结果页按频道模型显示不同模板的功能。

0