dedecms的搜索页模板文件默认位于templets/default/search.htm,若更改过模板风格则路径相应变化;修改搜索结果显示需编辑该文件中的{dede:list}循环标签,调整[field:title /]等字段并配合html与css控制样式;分页由{dede:pagelist /}标签控制,可修改其属性调整显示元素和数量;排序需在plus/search.php中修改sql语句的order by子句实现;搜索无结果时可通过添加{dede:list noinfo='yes'}标签块显示自定义提示内容,提升用户体验。

DEDECMS的搜索页模板调整,说白了,核心就是找到对的那个文件,然后理解它里面的标签逻辑。这事儿不复杂,但如果你是初次接触,可能会觉得有点摸不着头脑,因为它不像有些框架那样直观。基本上,就是改模板文件,调整输出结构和样式。
要修改DEDECMS的搜索页模板和调整搜索结果显示,你需要关注两个主要部分:一个是模板文件本身,通常是
search.htm
plus/search.php
.htm
search.php
首先,定位你的模板文件。默认情况下,它位于
templets/default/search.htm
search.htm
修改的步骤通常是:
search.htm
plus/search.php
search.htm
{dede:list}[field:title /]
[field:arcurl /]
[field:description /]
[field:xxx /]
div
h2
p
DEDECMS的搜索页模板文件,通常默认路径是
templets/default/search.htm
search.htm
templets/你的新模板风格名称/search.htm
这里有个小细节,很多人会混淆:
plus/search.php
search.htm
search.php
search.htm
search.htm
search.php
修改DEDECMS搜索结果的显示字段和样式,核心操作都在
search.htm
{dede:list orderby='pubdate' typeid='' row='10'}
<dl class="search-item">
<dt><a href="[field:arcurl /]">[field:title /]</a></dt>
<dd class="description">[field:description function='cn_substr(@me,120)' /]</dd>
<dd class="meta">发布时间:[field:pubdate function='MyDate("Y-m-d H:i",@me)' /] 浏览:[field:click /]</dd>
</dl>
{/dede:list}
{dede:pagelist listitem="info,index,end,pre,next,pageno,option" listsize="5"/}这里面,
{dede:list}{/dede:list}显示字段调整:
[field:title /]
[field:arcurl /]
[field:description /]
function='cn_substr(@me,120)'
[field:pubdate /]
function
[field:click /]
search.php
[field:你的自定义字段名 /]
author
[field:author /]
样式调整:
[field:xxx /]
<h2>
<p>
<span>
class
id
templets/default/style/dedecms.css
search-item
dl
description
dd
.search-item {
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 1px dashed #eee;
}
.search-item dt a {
font-size: 18px;
color: #337ab7;
text-decoration: none;
}
.search-item .description {
color: #666;
line-height: 1.6;
margin-top: 5px;
}
.search-item .meta {
font-size: 12px;
color: #999;
margin-top: 8px;
}通过这种方式,你可以完全掌控搜索结果的视觉呈现。
DEDECMS搜索结果的分页和排序调整,涉及到不同的层面。分页相对简单,而排序则需要更深入的了解。
分页调整: 分页通常由
search.htm
{dede:pagelist /}{dede:pagelist listitem="info,index,end,pre,next,pageno,option" listsize="5"/}这个标签负责生成分页链接。你可以通过修改
listitem
listsize
class
dedecms.css
排序调整: DEDECMS前台搜索页的排序,如果你想让用户选择不同的排序方式(比如按发布时间、按点击量),这在
search.htm
plus/search.php
ORDER BY
如果你需要更改默认的排序方式,比如让搜索结果默认按点击量降序排列,你就得去修改
plus/search.php
ORDER BY
ORDER BY arc.id DESC
ORDER BY arc.click DESC
注意: 直接修改
plus/search.php
search.php
当DEDECMS搜索结果为空时,给用户一个友好的提示是非常重要的。这可以提升用户体验,避免用户感到困惑。实现这个功能,主要还是在
search.htm
DEDECMS提供了一个
[field:nodata runphp='yes']
{dede:list}你可以这样处理:
{dede:list orderby='pubdate' typeid='' row='10'}
<!-- 这里是正常显示搜索结果的HTML结构 -->
<dl class="search-item">
<dt><a href="[field:arcurl /]">[field:title /]</a></dt>
<dd class="description">[field:description function='cn_substr(@me,120)' /]</dd>
<dd class="meta">发布时间:[field:pubdate function='MyDate("Y-m-d H:i",@me)' /] 浏览:[field:click /]</dd>
</dl>
{/dede:list}
{dede:list noinfo='yes'}
<div class="no-results-message">
<p>抱歉,没有找到与“<span class="keyword">{dede:global.keyword /}</span>”相关的文章。</p>
<p>您可以尝试:</p>
<ul>
<li>检查关键词是否有错别字。</li>
<li>使用更宽泛的搜索词。</li>
<li>减少搜索词的数量。</li>
<li>浏览我们的<a href="/">首页</a>或<a href="/a/">文章归档</a>。</li>
</ul>
</div>
{/dede:list}
{dede:pagelist listitem="info,index,end,pre,next,pageno,option" listsize="5"/}这里使用了两个
{dede:list}{dede:list noinfo='yes'}在
no-results-message
div
{dede:global.keyword /}这样,当搜索结果为空时,用户就能看到一个清晰、友好的提示,而不是一片空白或错误信息,这无疑会大大提升他们的使用体验。
以上就是DEDECMS搜索页模板怎么改?搜索结果显示如何调整?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号