织梦手机网页搜索设置怎么弄?

99ANYc3cd6
预计阅读时长 23 分钟
位置: 首页 织梦建站 正文

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

织梦手机网页搜索设置
(图片来源网络,侵删)
  1. PC端:确保搜索功能本身是可用的,并且支持移动端适配。
  2. 手机端:创建移动专用的搜索结果页面模板,并确保移动端能正确调用和显示。

第一步:PC端搜索功能设置(基础)

在进行手机端设置之前,请先确保您的PC端搜索功能是正常的。

  1. 检查搜索表单 在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" 是搜索关键词的输入字段名,这也是程序默认识别的。
  2. 确保搜索程序正常 访问 您的域名/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,不要改。
  • inputname 属性必须是 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条,如果您想修改这个数量,可以编辑 search_result.htm 模板中的 {dede:list}

每页显示20条:

{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。


总结与排错

总结步骤:

  1. PC端检查:确保 plus/search.php 可用,PC端搜索框 action 正确。
  2. 创建手机端模板:在手机端模板目录(如 /m/)下创建 search_result.htm 文件,并使用 {dede:list} 标签循环输出结果。
  3. 添加手机搜索框:在手机端 head.htm 中添加搜索表单,action 指向 search.phpinputnameq
  4. 美化样式:为 search_result.htm 添加移动端CSS样式。
  5. 后台优化:在后台设置中调整搜索条数、开启高亮等。

常见问题排错:

  • 问题1:点击手机端搜索,跳转到PC端搜索页面。

    • 原因:手机端的搜索表单 action 地址写错了,或者模板文件名不正确。
    • 解决:检查手机端搜索框的 action 是否为 {dede:global.cfg_cmsurl/}/plus/search.php,检查手机端目录下是否存在 search_result.htm
  • 问题2:搜索结果页面为空,或显示“找不到相关记录”。

    • 原因
      1. 搜索关键词太短,被系统过滤。
      2. {dede:list} 标签使用错误,或者模板文件不在正确的位置。
      3. 数据库中没有匹配的内容。
    • 解决:尝试输入一个明确存在的长关键词进行搜索,确认模板文件名和路径。
  • 问题3:搜索结果样式错乱,不是移动端样式。

    • 原因search_result.htm 模板中引入了PC端的CSS文件,或者没有引入移动端的CSS文件。
    • 解决:检查 search_result.htm 文件头部,确保它 {dede:include filename='head.htm'/} 引用的是手机端的头部模板,并且该头部模板正确引入了移动端CSS。

按照以上步骤,您就可以成功地为您的织梦网站设置一个功能完善、体验良好的手机端搜索功能了。

-- 展开阅读全文 --
头像
dede顶一下数据如何获取或修改?
« 上一篇 03-03
C语言课程设计成绩管理系统如何实现?
下一篇 » 03-03

相关文章

取消
微信二维码
支付宝二维码