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="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;
             <!--文字輸入框--> < 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文件夾中。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM