织梦手机网页的搜索功能,其核心原理是调用PC端的搜索接口,但通过移动端的模板文件来展示结果,设置主要涉及两个部分:

- PC端:确保搜索功能本身是可用的,并且支持移动端适配。
- 手机端:创建移动专用的搜索结果页面模板,并确保移动端能正确调用和显示。
第一步:PC端搜索功能设置(基础)
在进行手机端设置之前,请先确保您的PC端搜索功能是正常的。
-
检查搜索表单 在PC端的头部模板文件
head.htm中,找到搜索表单,它的代码通常是这样的:<form name="formsearch" action="{dede:global.cfg_cmsurl/}/plus/search.php" method="get"> <input type="hidden" name="kwtype" value="0" /> <input type="hidden" name="searchtype" id="searchtype" value="titlekeyword" /> <input type="text" name="q" id="q" class="search-keyword" placeholder="请输入关键词" /> <button type="submit" class="search-submit">搜索</button> </form>action指向了搜索程序search.php,这是固定的。name="q"是搜索关键词的输入字段名,这也是程序默认识别的。
-
确保搜索程序正常 访问
您的域名/plus/search.php,如果能看到一个基础的搜索页面,说明搜索程序本身是可用的。
第二步:手机端搜索模板设置(核心)
这是实现手机端搜索功能的关键,织梦会自动调用手机端目录下的搜索结果模板。

确认手机端模板目录
默认情况下,织梦手机端模板位于 /templets/default/m/ 目录下,如果您使用了自定义的移动端模板,请找到您对应的目录。
创建或修改搜索结果页模板
在您的手机端模板目录(/templets/default/m/)中,必须存在一个名为 search_result.htm 的文件。
- 如果不存在:请创建一个
search_result.htm文件。 - 如果已存在:请根据您的需求修改它。
您可以直接复制PC端的搜索结果模板 search.htm 到手机端目录,然后进行移动端样式和结构的简化。
search_result.htm 模板文件的核心代码结构:

{dede:include filename="head.htm"/} <!-- 引入手机端头部 -->
<div class="search-result">
<h2>搜索结果</h2>
<p>关键词:<strong>{dede:global name='keyword'/}</strong></p>
<p>找到相关记录 <strong>{dede:global name='resultcount'/}</strong> 条</p>
<p>耗时 <strong>{dede:global name='searchtime'/}</strong> 秒</p>
<!-- 循环输出搜索结果列表 -->
<ul class="result-list">
{dede:list pagesize='10'}
<li>
<a href="[field:arcurl/]">
<h3>[field:title/]</h3>
<p>[field:description function='cn_substr(@me, 100)'/]...</p>
</a>
<div class="info">
<span>时间:[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
<span>来源:[field:typename/]</span>
</div>
</li>
{/dede:list}
</ul>
<!-- 分页 -->
<div class="page">
{dede:pagelist listsize='5' listitem='info,index,pre,next,end'/}
</div>
</div>
{dede:include filename="footer.htm"/} <!-- 引入手机端底部 -->
代码解释:
{dede:global name='keyword'/}:获取用户输入的搜索关键词。{dede:global name='resultcount'/}:获取搜索到的结果总数。{dede:global name='searchtime'/}:获取搜索耗时。{dede:list}:这是一个非常重要的标签,在搜索结果模板中,它用于循环输出搜索到的文章列表,它与首页的{dede:arclist}不同,{dede:list}会自动根据URL中的搜索参数来获取数据。[field:arcurl/]、[field:title/]、[field:description/]等都是文章内容的调用标签。{dede:pagelist}:用于生成分页链接。
添加手机端搜索框
我们需要在手机端网站的某个位置(通常是头部)添加一个搜索框,让它指向我们刚刚设置的 search_result.htm。
打开您的手机端头部模板文件 head.htm,在合适的位置添加以下搜索表单代码:
<form class="search-form" action="{dede:global.cfg_cmsurl/}/plus/search.php" method="get">
<input type="hidden" name="kwtype" value="0" />
<input type="search" name="q" class="search-input" placeholder="搜索..." required />
<button type="submit" class="search-btn">搜索</button>
</form>
注意:
action的地址依然是.../plus/search.php,不要改。input的name属性必须是q,这样织梦才能正确接收搜索关键词。- 可以使用
type="search",它在移动端会自动调出更友好的键盘。
第三步:优化与高级设置
移动端适配与样式
上面的 search_result.htm 只是功能框架,您需要为其添加CSS样式,使其在手机上看起来美观。
在您的移动端CSS文件中,为搜索结果页面添加样式,
/* 在您的移动端CSS文件中 */
.search-result {
padding: 10px;
}
.result-list li {
border-bottom: 1px solid #eee;
padding: 10px 0;
}
.result-list h3 {
font-size: 16px;
margin-bottom: 5px;
line-height: 1.4;
}
.result-list p {
font-size: 14px;
color: #666;
margin-bottom: 5px;
}
.result-list .info {
font-size: 12px;
color: #999;
}
.page {
text-align: center;
margin-top: 20px;
}
修改搜索结果页数量
默认情况下,搜索结果每页显示10条,如果您想修改这个数量,可以编辑 每页显示20条: 为了让用户一眼看到关键词,可以开启结果高亮功能。 在织梦后台,进入 系统 -> 系统基本参数 -> 核心设置,找到: 开启后,在模板中可以使用 如果您想让用户可以选择搜索范围(如只搜索文章、软件等),可以在搜索表单中添加 这里的 总结步骤: 常见问题排错: 问题1:点击手机端搜索,跳转到PC端搜索页面。 问题2:搜索结果页面为空,或显示“找不到相关记录”。 问题3:搜索结果样式错乱,不是移动端样式。 按照以上步骤,您就可以成功地为您的织梦网站设置一个功能完善、体验良好的手机端搜索功能了。search_result.htm 模板中的 {dede:list}
{dede:list pagesize='20'}
设置搜索结果高亮
[field:title function='highlight(@me, get('q'))'/] 这样的方式来高亮显示关键词,但更简单的方式是,织梦在开启高亮后,会自动处理,直接调用 [field:title/] 即可。自定义搜索范围(可选)
typeid 字段。<form action="{dede:global.cfg_cmsurl/}/plus/search.php" method="get">
<select name="typeid">
<option value="0">全站</option>
<option value="1">文章</option>
<option value="2">下载</option>
<!-- 其他栏目... -->
</select>
<input type="text" name="q" placeholder="请输入关键词" />
<button type="submit">搜索</button>
</form>
typeid 的值对应的是您后台栏目的ID。
总结与排错
plus/search.php 可用,PC端搜索框 action 正确。/m/)下创建 search_result.htm 文件,并使用 {dede:list} 标签循环输出结果。head.htm 中添加搜索表单,action 指向 search.php,input 的 name 为 q。search_result.htm 添加移动端CSS样式。
action 地址写错了,或者模板文件名不正确。action 是否为 {dede:global.cfg_cmsurl/}/plus/search.php,检查手机端目录下是否存在 search_result.htm。
{dede:list} 标签使用错误,或者模板文件不在正确的位置。
search_result.htm 模板中引入了PC端的CSS文件,或者没有引入移动端的CSS文件。search_result.htm 文件头部,确保它 {dede:include filename='head.htm'/} 引用的是手机端的头部模板,并且该头部模板正确引入了移动端CSS。
