1. 程式人生 > >phpcms實現全站搜索

phpcms實現全站搜索

pcm 結束 alt mod logs 內容 數據 行高 拆分

如果制作的靜態頁面中有搜索功能,那麽使用phpcms進行替換怎麽替換呢?會不會越到很多的麻煩呢?接下來進行phpcms替換靜態頁面中的搜索功能。

第一步:搜索頁面的form表單提交書寫,form表單怎麽寫就不多說了。

<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="width:186px; height:22px; border-right-width:0px; margin-top:7px;"/><input id="siteid" type="hidden" value="1" name="siteid"><input type="submit" name="submit" id="submit" value="立即搜索" style="width:60px; height:26px; border:0px; background-color:#ddd">
            <!--文字輸入框-->
       <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頁面就是搜索的結果頁面了,提醒一下:這個頁面中除了要顯示搜索的內容外,其他的內容就不要進行遍歷顯示了,因為這樣會把搜索的結果出錯了,不會顯示搜索的結果。

顯示搜索結果頁面的遍歷代碼如下:(把這個放到想要顯示的位置,樣式根據自己的樣式進行修改)

<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文件需要引進,不能不寫。  

{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文件夾中。

 

phpcms實現全站搜索