久久机这里只有精品,国产69精品一区二区亚洲孕妇,91精品国产综合久久婷婷香蕉,午夜久久久久久电影

最新活動:電腦PC端+手機(jī)端+微網(wǎng)站+自適應(yīng)網(wǎng)頁多模板選擇-建站388元起價!!!
當(dāng)前位置:主頁 > 網(wǎng)站建設(shè) > 織夢前臺搜索和高級搜索簡單分析,織夢文章

織夢前臺搜索和高級搜索簡單分析,織夢文章

時間:2023-07-20 10:07:20 閱讀: 文章分類: 網(wǎng)站建設(shè) 作者: dede技術(shù)員

導(dǎo)讀:織夢文章織夢文章搜索作為網(wǎng)站上快速查詢內(nèi)容的工具,必不可少,織夢里面的搜索有好幾種,例如,我們用織夢進(jìn)行仿站或進(jìn)行二次開發(fā),經(jīng)常用到的有高級搜索、前臺搜索和后臺自定義搜索,這個dede模板堂dede免費(fèi)校板下戰(zhàn)。

dede模板堂dede免費(fèi)校板下戰(zhàn)  搜索作為網(wǎng)站上快速查詢內(nèi)容的工具,必不可少,織夢里面的搜索有好幾種,例如,我們用織夢進(jìn)行仿站或進(jìn)行二次開發(fā),經(jīng)常用到的有高級搜索、前臺搜索和后臺自定義搜索,這個教程主要簡分析一下,前臺搜索功能,織夢前臺搜索功能與自定義搜索功能,大同小異,處理過程也差不多。   前臺搜索和高級搜索如下圖所示。 織夢前臺搜索                   前臺搜索 高級搜索           &nb手機(jī)模板dedesp;       高級搜索   前臺搜索可以說是高級搜索的一個簡單化版,言外之意就是處理這二個提交表單的搜索關(guān)鍵字程序是一樣的,沒有錯,處理搜索的程序文件都是plus/search.php。前臺搜索模板是織夢模板頭部模板head.htm,高級搜索對應(yīng)的模板是,織夢模板里面的heightsearch.htm,它們的搜索結(jié)果頁都是templets/default/search.htm,測試是不是這一個模板頁,可以查看“搜索視圖類”文件arc.searchview.class.php,在131行,找到: $tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/search.htm";   這里就是定義了,高級搜索和前臺搜索的搜索結(jié)果頁模板,知道這個原理,我們就可以在這里自己定義自己喜歡的模板名稱文件了。還可以用另一種方法來測試,高級搜索和這個前臺搜索的結(jié)果模板是不是用的這個模板文件,我們只需要在這個模板search.htm里面隨便寫點(diǎn)東西,在我們搜索后,看看有沒有我們剛寫的東西,如果有說明,這二個都是用的同一個搜索結(jié)果頁模板文件,這也是一種方法。   我們知道織夢模板都是通過織夢標(biāo)簽來調(diào)用數(shù)據(jù)的,但是在織夢插件里面,一般都不用織夢標(biāo)簽,而是用php代碼,這個前后臺搜索也是如此,特別是高級搜索。我們先看一下前臺搜索,下面是搜索代碼form表單。   這個表單里面,只用了{(lán)dede:global.cfg_cmsurl/}這么一個標(biāo)簽,其它都是html原生態(tài)的標(biāo)簽,這些沒有什么好說的,最主要的是看action里面的文件search.php,這是重點(diǎn),再看一下這個表單的name值,這點(diǎn)非常重要,因?yàn)椋?dāng)用戶輸入關(guān)鍵搜索后,這些name值要一起發(fā)送到search.php里面的。   再看一下高級搜索模板heightsearch.htm里面的表單,我們會發(fā)現(xiàn)完全沒有織夢表單,而是html標(biāo)簽和php程序,注意,它的action 也是search.php,這就可以肯定了,前臺搜索和高級搜索都是通過search.php來處理,用戶輸入的關(guān)鍵字的。   因?yàn)榍芭_搜索是高級搜索的簡化版本,所以,我們只需要分析高級搜索,就可以了。   在分析高級搜索前,我們要注意一個問題:只要在php里require,include等包括了一個模板(或其它php文件),就相當(dāng)于把這個模板(或其它php文件)里的代碼復(fù)制到這個php文件,而模板文件(或其它php文件)就相當(dāng)于,把這個php文件,通過require,include等作為聯(lián)系,從php分害出來的一部分,雖然,分割出來了,但是由于require,include等,使得這個模板文件(或其它php文件)仍然是這個php文件的一部分,只是為了方便處理,才把它們分開的。這在php里面都是通用的,而不是織夢專有的。   就像在我們做模板時,把一個模反分成三部分:頭部、中間和尾部,便于管理,試想如果一個程序文件,不分開的話,有可能,這個文件使它里面的全部代碼,而另一個文件只使用它里面的部分代碼,這樣就使得不使用的代碼也要加載一次,浪費(fèi)服務(wù)器資源,也不方便。   知道上面的原理,我們打開heightsearch.php文件,你會發(fā)現(xiàn)只有三行代碼,重點(diǎn)看下面這二個文件:   require_once(DEDEINC.'/typelink.class.php');   require_once(DEDETEMPLATE.'/pl模板織夢us/heightsearch.htm');   第一個是“欄目連接類”typelink.class.php文件,它的作用就是處理欄目的連接,例如像這樣的當(dāng)前位置: 主頁 > 網(wǎng)頁基礎(chǔ) > HTML > 連接,以及高級搜索里面的“網(wǎng)站欄目”、“類型”等。對于這個類文件,今天不是我們的重點(diǎn),我們只需要知道,我們調(diào)用里面的一個方法GetOptionArray(0,0,0),這個方法的作用就是:獲得類別列表,這里所說的類別就是欄目。對于這個方法,有興趣的可以去研究一下。   打開高級搜索模板,heightsearch.htm,我們一一分析:   第一項(xiàng):同站欄目,上面的們分析了用的是GetOptionArray(0,0,0)方法,把數(shù)據(jù)庫里面的欄目表dede_arctype里面的,所有欄目都篩選出來。   第四項(xiàng):內(nèi)容類型,這個是把數(shù)據(jù)庫里面的模型表dede_channeltype,里面的所有模型都循環(huán)出來,這種原生態(tài)的php代碼調(diào)用在模板插件里面的經(jīng)常用到,如果現(xiàn)在想調(diào)用其它的表里面的數(shù)據(jù),我們可以通過種方法來調(diào)用。   第二項(xiàng):關(guān)鍵字,不知道大家遇到過這種情況沒有,當(dāng)我們在網(wǎng)站上搜索時,有時候只輸入了一個符號,例如:只輸入了一個字母a,點(diǎn)搜索后,程序會提示“關(guān)鍵字不能小于2個字節(jié)!”,有時候我們需要一個字節(jié)的搜索,如何改呢?   修改方法:在文件search.php里面的第79行,找到if(($keyword=='' || strlen($keyword)<2) && empty($織夢網(wǎng)站模板typeid)),把里面的小于2,改成小于1或者直接把strlen($keyword)<2) && 這一句去掉即可,搜索一個關(guān)鍵字節(jié)了。     在這個search.php文件里面,上面大部分是處理我們在高級搜索里面的搜索時,選擇的條件,全是為下面這三行代碼服務(wù)的: $sp = new SearchView($typeid,$keyword,$orderby,$channeltype,$searchtype,$starttime,$pagesize,$kwtype,$mid); $keyword = $oldkeyword; $sp->Display();   這三行代碼,就是對“搜索視圖類”arc.searchview.class.php進(jìn)行實(shí)例化,即創(chuàng)建對象,然后,把用戶要搜索的關(guān)鍵字以及選擇的條件,進(jìn)行真正的處理,并顯示到搜索結(jié)果頁里面。在這個類里面涉及到了數(shù)據(jù)庫操作,而search.php文件,則只是對搜索提交過來的參考進(jìn)行基本的檢驗(yàn),例如輸入的關(guān)鍵字有合不合法等。這個文件不直接與數(shù)據(jù)庫打交道,而是讓這個文件后面的類,進(jìn)行數(shù)據(jù)庫操作,這樣就更加保證了程序的安全性,提高了效率。在php中 mvc里面我們稱search.php為控制器,即里面的c。   這種方法我們在寫程序時,也要參考一下,就是對于search.php接收到的數(shù)據(jù),我們首先要處理,然后,再把處理后的數(shù)據(jù)交給更底層的模塊處理,處理后再還給search.php,通過search.php顯示到用戶前面,這種思想就是mvc。   這個教程只是簡單的分析了一下,高級搜索的處理過程,即對提交的搜索要求進(jìn)行基本的數(shù)據(jù)檢驗(yàn),然后,提交給實(shí)例化的對象進(jìn)行處理,對象才是真正是數(shù)據(jù)庫打交道的代碼,而這些代碼往往都比較復(fù)雜,看上去,但如果我們細(xì)細(xì)分析一下,其實(shí)也不是多么難。   最后,要說的是,織夢自定義搜索文件是advancedsearch.php,織夢可能寫錯了,這個也叫高級搜索,其實(shí),這個叫自定義搜索文件,它對應(yīng)的模板是advancedsearch.htm。對于自定義搜索我們會在另一個教程里分析。相關(guān)dede模板堂dede免費(fèi)校板下戰(zhàn)。

關(guān)鍵詞標(biāo)簽: 前臺 高級搜索 織夢

聲明: 本文由我的SEOUC技術(shù)文章主頁發(fā)布于:2023-07-20 ,文章織夢前臺搜索和高級搜索簡單分析,織夢文章主要講述前臺,高級搜索,織夢網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請保留鏈接: http://www.bifwcx.com/article/web_31487.html

我的IDC 網(wǎng)站建設(shè)技術(shù)SEOUC.COM
專注網(wǎng)站建設(shè),SEO優(yōu)化,小程序設(shè)計(jì)制作搭建開發(fā)定制網(wǎng)站等,數(shù)千家網(wǎng)站定制開發(fā)案例,網(wǎng)站推廣技術(shù)服務(wù)。
  • 5000+合作客服
  • 8年從業(yè)經(jīng)驗(yàn)
  • 150+覆蓋行業(yè)
  • 最新熱門源碼技術(shù)文章

    主站蜘蛛池模板: 临泽县| 无极县| 台前县| 兴城市| 沾化县| 凤山市| 孝义市| 新昌县| 枣强县| 沽源县| 万盛区| 瑞金市| 都兰县| 泗水县| 新平| 醴陵市| 宁蒗| 郯城县| 新晃| 铁岭县| 莆田市| 普安县| 河东区| 大同市| 土默特左旗| 永寿县| 崇文区| 喀喇沁旗| 修水县| 磐石市| 宽甸| 宜君县| 威远县| 龙口市| 上高县| 哈密市| 钟祥市| 克山县| 龙川县| 灵璧县| 南澳县|