zoukankan      html  css  js  c++  java
  • phpcms实现全站搜索

    如果制作的静态页面中有搜索功能,那么使用phpcms进行替换怎么替换呢?会不会越到很多的麻烦呢?接下来进行phpcms替换静态页面中的搜索功能。

    第一步:搜索页面的form表单提交书写,form表单怎么写就不多说了。

    1
    2
    3
    4
    5
    6
    7
    8
    <form name="search" id="" action="{APP_PATH}index.php" method="get" style="170px; display:inline-block; float:left">
               <h1>产品搜索:</h1><input name="q" value="请输入查询关键词" type="text"  onclick="javascript:document.getElementById('q').value='';" id="q" style="186px; height:22px; border-right-0px; margin-top:7px;"/><input id="siteid" type="hidden" value="1" name="siteid"><input type="submit" name="submit" id="submit" value="立即搜索" style="60px; height:26px; border:0px;
                <!--文字输入框--><br>        <input type="hidden" value="search" name="m">  <!--进行搜索的页面-->
                <input type="hidden" value="index" name="c">   <!--搜完成功后返回的页面-->
                <input type="hidden" value="init" name="a">
                <input id="typeid" type="hidden" value="1" name="typeid"> <!--typeid的类型-->
                                    
    </form>

    这样就把想要查找的内容传入index.php文件进行处理(index.php文件在modules/search/index.php)这个php文件就是对上面传入的各类值进行判断和处理

    如图所示:

    第二步:这个form表单返回的页面

    这个返回值的页面不是栏目页,也不是列表页,也不是内容页,是一个独立的文件

    (1)在你自己的模板之下建立一个search文件夹:路径如下图:

    不是在content文件里建立,而是它的外面建立search文件夹

    (2)search文件夹里面有这么几个文件(自己的返回页面进行拆分)

    将一个整体的静态页面像其他的页面一样拆分为这么几个部分:header、footer、index、list这么4个页面文件

    (3)搜索结果的显示

    拆分就不多说了,知道phpcms的都会拆分,现在就是把index页面和list页面进行修改

    index页面是为了搜索没有内容的时候返回的页面,这个页面可以自己设置,也可以使用phpcms的默认页面。

    list页面就是搜索的结果页面了,提醒一下:这个页面中除了要显示搜索的内容外,其他的内容就不要进行遍历显示了,因为这样会把搜索的结果出错了,不会显示搜索的结果。

    显示搜索结果页面的遍历代码如下:(把这个放到想要显示的位置,样式根据自己的样式进行修改)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <ul>
          {loop $data $i $r}
                             
          {if $r['thumb']}  <!--搜索的结果的图片-->
          <li><b><a href="{$r[url]}"><img src="{$r[thumb]}" /></a></b><!--搜索的结果图片和路径-->
          {/if} 
          <h3><a href="{$val[url]}">{$r[title]}</a></h3></li><!--搜索结果的路径和标题--> 
          {/loop}   
    </ul>
          {if empty($data)}未找到结果{/if}  <!--没有找到时的提示-->
          <div id="pager" class="fy">
              {$pages}  <!--结果的分页-->
          </div>

    注意:可以进去phpcms的默认模板进行查看search的文件夹中的文件怎么写的,注意里面有几个js文件需要引进,不能不写。  

    1
    2
    3
    4
    {if $setting['suggestenable']}
    <script type="text/javascript" src="{JS_PATH}jquery.suggest.js"></script>
    <script type="text/javascript" src="{JS_PATH}search_suggest.js"></script>
    {/if}

    第三步:进行检验

    查看结果的页面是否有问题:

    (1)搜索站里面有“气”的产品

    (2)查看页面是不是出来了(东西多的应该是有分页的,还有搜索的关键字进行高亮显示,这是样式的修改)

     到此,phpcms的全站搜索的替换就结束了。主要的在search中全文件中不要出现循环显示数据,这样会和搜索的结果冲突;search文件不在content文件夹中。

  • 相关阅读:
    好代码收藏
    JVM
    关于Redis
    记录ok6410 使用ov9650摄像头的过程
    记录一下在uyuv 转 planar yuv420 的做法
    mini2440 使用的mkyaffs2image 工具的源码
    hi3516a imx178 uboot 默认启动参数
    记录ok6410 使用fast150u 无线网卡的过程 其中部分内容为转载 没有修改
    ubuntu建立tftp服务器有两种方式
    转载hi3516 sd 只读解决
  • 原文地址:https://www.cnblogs.com/cmzhphp2017/p/7920754.html
Copyright © 2011-2022 走看看