久久精品国产99国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

Soso - 搜索增強Typecho插件

這款typecho插件可以增強Typecho的搜索功能,很是實用,還可以根據分類來搜索,很方便,是一款值得tupecho主題開發者一試的typecho插件

功能介紹

搜索模式:有常規搜索和僅搜索文章標題兩種模式。

搜索過濾:可以設置一些分類,讓其不被搜索到。

搜索高亮:搜索結果頁面,文章標題和縮略內容中的關鍵字高亮顯示。

注意:縮略內容使用<?php $this->excerpt(140, '...'); ?>來截取的并不會高亮,因為這個地方沒有插件接口,可以將這個函數換成插件內置的方法<?php $this->excerpts($this); ?>,并且在插件設置里設置截取長度。也可以這樣寫個判斷

<?php $all = Typecho_Plugin::export(); if(array_key_exists('Soso', $all['activated'])): ?>
<?php $this->excerpts($this); ?>//插件啟動就調用插件的這個方法
<?php else: ?>
<?php $this->excerpt(140, '...'); ?>//插件沒啟動就調用默認方法
<?php endif; ?>

使用說明

下載后將soso文件夾傳到typecho目錄下,然后啟動插件,打開插件設置,根據文字提示設置即可。

插件升級操作說明

禁用舊版插件,刪除舊版插件文件夾,然后上傳最新版插件,啟動插件設置插件即可

高級玩法

typecho按分類搜索文章

Soso - 搜索增強Typecho插件

之前我寫的soso搜索增強插件其實已經能夠根據分類進行搜索內容了,不過需要模板上進行配合,比如我們搜索分類id2620下關于typecho的文章,需要傳遞分類id的參數給cat,讓插件獲取,比如這個鏈接https://qqdie.com/search/typecho/?cat=2620,插件會獲取到2620,然后根據它來按分類搜索文章內容。

那么問題來了,模板搜索表單怎么傳遞cat參數
typecho默認的搜索結構直接加個input進行傳遞,如下:

<form method="post" action="<?php $this->options->siteUrl(); ?>" role="search">
<input type="hidden" name="cat"  value="2620">
<input type="text" name="s" placeholder="Search...">
<button type="submit">Search</button>
</form>

HTML

經過測試并沒有用,因為在處理搜索的過程中,typecho的默認只接受name="s"傳遞的內容。

我的解決方案就是跳過typecho默認的搜索處理函數,然后自己寫。

1,跳過默認搜索處理

把上述代碼中的name="s"改成name="ss",跳過typecho默認的搜索處理函數。代碼如:

<form method="post" action="<?php $this->options->siteUrl(); ?>" role="search">
<input type="hidden" name="cat"  value="2620">
<input type="text" name="ss" placeholder="Search...">
<button type="submit">Search</button>
</form>

HTML

2,自己寫搜索處理函數

functions.php模板文件里加入

function themeInit($archive)
{
if($archive->request->isPost() && isset($archive->request->ss)){
so($archive);//判斷為post請求,并且有參數ss,啟用so函數
}}
function so($obj){
$url=$obj->options->index;
if (Helper::options()->rewrite==0){$url=Helper::options()->rootUrl.'/index.php/';}
        /** 處理搜索結果跳轉 */
        if (isset($obj->request->ss)) {
            $filterKeywords = $obj->request->filter('search')->ss;//獲取搜索詞
 $cat = $obj->request->filter('search')->cat;//獲取分類id
            /** 跳轉到搜索頁 */
            if (NULL != $filterKeywords) {
                $obj->response->redirect(Typecho_Router::url('search',
                array('keywords' => urlencode($filterKeywords)),$url)."?cat=".$cat);//設置跳轉地址
            }
        }
}

PHP

3,啟動soso插件

下載soso插件并啟用插件,測試效果,有效果就可以進行下一步驟了。

4,重寫翻頁按鈕地址

上面的操作完成后,你會發現翻頁按鈕的鏈接并不攜帶cat參數,也就是說一旦翻頁了,這個按分類搜索就失效了。所以我們需要給翻頁按鈕追加參數,我最初采用的是js追加參數,后來發現可以直接重寫分類按鈕的鏈接,所以就采用php修改按鈕鏈接的方式追加參數了。

在搜索結果的模板文件中增加以下代碼即可:

<?php
global $can;//定義全局變量,方便下面獲取
$cat=intval($this->request->cat);//獲取cat
if($cat>0){$can='?cat='.$cat;}else{$can="";}
class Typecho_Widget_Helper_PageNavigator_Classic extends Typecho_Widget_Helper_PageNavigator
{
    public function prev($prevWord = 'PREV')
    {
        //輸出上一頁
        if ($this->_total > 0 && $this->_currentPage > 1) {
            echo '<a class="prev" href="' . str_replace($this->_pageHolder, $this->_currentPage - 1, $this->_pageTemplate) . $this->_anchor . $GLOBALS['can'] . '">'
            . $prevWord . '</a>';
        }
    }
    public function next($nextWord = 'NEXT')
    {
        //輸出下一頁
        if ($this->_total > 0 && $this->_currentPage < $this->_totalPage) {
            echo '<a class="next" title="" href="' . str_replace($this->_pageHolder, $this->_currentPage + 1, $this->_pageTemplate) . $this->_anchor . $GLOBALS['can'] . '">'
            . $nextWord . '</a>';
        }
    }
}
?>

PHP

上述代碼就是在上一頁/下一頁的翻頁按鈕后面追加cat參數,追加好了,就完美了。

5,完善

步驟1中的代碼只是簡單的傳遞了一個分類id,并不適合實際中使用,可以改為如下:

<form method="post" action="<?php $this->options->siteUrl(); ?>" role="search">
<select name="cat">
<option value="0" selected>全部</option>
<option value="2619">Typecho全部</option>
<option value="2620">Typecho主題</option>
<option value="2621">Typecho插件</option>
<option value="2626">Typecho教程</option>
<option value="2618">博客文章</option>
</select>
<input type="text" name="ss" placeholder="Search...">
<button type="submit">Search</button>
</form>

HTML

使用select能夠比較方便的選擇分類進行搜索,根據需要select里面的內容可以使用循環輸出所有分類。

下載權限
查看
  • 免費下載
    評論并刷新后下載
    登錄后下載
  • {{attr.name}}:
您當前的等級為
登錄后免費下載登錄 小黑屋反思中,不準下載! 評論后刷新頁面下載評論 支付以后下載 請先登錄 您今天的下載次數(次)用完了,請明天再來 支付積分以后下載立即支付 支付以后下載立即支付 您當前的用戶組不允許下載升級會員
您已獲得下載權限 您可以每天下載資源次,今日剩余

給TA贊賞
共{{data.count}}人
人已贊賞
??
Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
?
購物車
優惠劵
搜索
久久精品国产99国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

    9000px;">

      波多野结衣中文一区| 国精产品一区一区三区mba桃花| 亚洲成人动漫在线观看| 在线观看成人免费视频| 午夜精品久久一牛影视| 日韩一区二区影院| 奇米777欧美一区二区| 精品国产凹凸成av人导航| 狠狠色丁香久久婷婷综合_中| 精品国产乱码久久久久久久久| 成人一区二区在线观看| 最新热久久免费视频| 色妞www精品视频| 免费久久99精品国产| 久久久久久电影| 99riav一区二区三区| 亚洲成在线观看| 欧美tickling网站挠脚心| 国v精品久久久网| 亚洲一卡二卡三卡四卡无卡久久| 欧美一区二区三区视频免费| 国产高清久久久久| 一区二区高清在线| 欧美xxxx在线观看| 91视频在线观看免费| 五月激情综合色| 中文字幕电影一区| 欧美喷潮久久久xxxxx| 国产精品天美传媒| 欧美日韩三级一区二区| 国产在线视频一区二区| 一区二区三区色| 久久先锋资源网| 91精品国产欧美日韩| www.综合网.com| 国内成人免费视频| 免费观看一级欧美片| 一区二区在线观看免费视频播放| 欧美第一区第二区| 欧美午夜片在线看| 99久久精品国产观看| 九一九一国产精品| 日本亚洲三级在线| 亚洲一区二区精品3399| 国产精品国产三级国产aⅴ无密码| 欧美一区二区在线不卡| 欧美日韩不卡在线| 欧美日韩亚洲不卡| 色婷婷激情综合| av网站一区二区三区| 国产成人综合网| 国产成人亚洲精品青草天美| 免费在线成人网| 亚洲国产精品久久不卡毛片| 国产精品久久777777| 国产精品免费视频网站| 精品久久久久久综合日本欧美 | 成人性生交大片免费看视频在线| 日本欧美一区二区三区乱码 | 中文av一区特黄| 日韩欧美一卡二卡| 欧美日韩午夜在线视频| 91福利在线免费观看| 91原创在线视频| 91成人网在线| 欧美蜜桃一区二区三区 | 色婷婷亚洲婷婷| 欧美天天综合网| 欧美日本在线一区| 精品国内二区三区| 久久亚洲精华国产精华液| 国产亚洲成年网址在线观看| 国产亲近乱来精品视频| 国产亲近乱来精品视频| 国产精品不卡一区| 亚洲在线免费播放| 日本欧美韩国一区三区| 国内精品久久久久影院一蜜桃| 国产风韵犹存在线视精品| 91在线观看美女| 69堂亚洲精品首页| 久久久www成人免费无遮挡大片 | 中文字幕久久午夜不卡| 中文字幕一区三区| 亚洲777理论| 国产精品一卡二| 欧洲av在线精品| 精品国产不卡一区二区三区| 亚洲欧洲精品成人久久奇米网| 亚洲国产综合视频在线观看| 国产在线一区观看| 日本久久精品电影| 久久综合色天天久久综合图片| 亚洲视频综合在线| 久久成人久久爱| 色av一区二区| 精品成人在线观看| 亚洲一二三区在线观看| 国产精品亚洲成人| 欧美丰满嫩嫩电影| 亚洲色图视频网站| 另类中文字幕网| 欧洲视频一区二区| 亚洲国产精品成人综合| 图片区小说区区亚洲影院| 国产一区二区三区久久悠悠色av| 成人黄色综合网站| 久久在线观看免费| 三级欧美韩日大片在线看| av中文字幕一区| 日韩欧美一二三四区| 一区二区在线观看免费视频播放| 黑人精品欧美一区二区蜜桃| 欧美日韩在线一区二区| 中文字幕亚洲不卡| 国产高清不卡一区| 国产三级精品三级| 日韩精品亚洲一区二区三区免费| 成人综合在线观看| 精品999久久久| 久久99国产精品尤物| 欧美一区二区三区在线观看视频| 亚洲视频在线观看一区| 国产69精品久久久久777| 26uuu精品一区二区在线观看| 婷婷丁香激情综合| 欧美三级日韩在线| 亚洲综合免费观看高清在线观看| 成av人片一区二区| 成人欧美一区二区三区黑人麻豆 | 午夜精品免费在线观看| 欧美日韩视频在线观看一区二区三区 | 欧美激情一区二区三区四区 | 天天操天天色综合| 欧美日韩一区二区三区四区| 亚洲自拍偷拍欧美| 色婷婷狠狠综合| 亚洲国产欧美日韩另类综合| 91国模大尺度私拍在线视频| 亚洲一区二区三区视频在线播放| 欧美性大战久久久久久久蜜臀| 一区二区三区久久久| 欧美日韩不卡视频| 男女视频一区二区| 国产日韩在线不卡| 色综合视频在线观看| 亚洲五月六月丁香激情| 欧美精品在欧美一区二区少妇| 日韩在线一区二区三区| 日韩免费视频一区| 国精产品一区一区三区mba桃花| 欧美激情中文不卡| 欧美综合在线视频| 毛片不卡一区二区| 国产精品网站在线观看| 色天使久久综合网天天| 麻豆视频观看网址久久| 国产欧美日韩激情| 91网站在线播放| 午夜影院在线观看欧美| 久久久高清一区二区三区| 色先锋资源久久综合| 99久久777色| 香蕉乱码成人久久天堂爱免费| 51精品视频一区二区三区| 韩国女主播一区| 亚洲女与黑人做爰| 制服丝袜成人动漫| 不卡的av电影在线观看| 亚洲国产欧美在线| 欧美激情综合五月色丁香小说| 一本高清dvd不卡在线观看| 美腿丝袜亚洲综合| 成人av电影免费观看| 肉色丝袜一区二区| 国产精品久久久99| fc2成人免费人成在线观看播放 | 麻豆91免费看| **欧美大码日韩| 精品美女一区二区| 欧美午夜一区二区三区免费大片| 国产乱国产乱300精品| 日韩影视精彩在线| 亚洲免费电影在线| 国产日韩在线不卡| 日韩色在线观看| 色94色欧美sute亚洲线路一久| 精品夜夜嗨av一区二区三区| 亚洲与欧洲av电影| 国产精品欧美久久久久无广告 | 日韩一区二区精品葵司在线| 91丨porny丨蝌蚪视频| 国产精品99久久久久久宅男| 蜜臀av一区二区在线观看| 亚洲国产婷婷综合在线精品| 亚洲欧美一区二区三区极速播放| 国产欧美视频一区二区| 久久精品日韩一区二区三区| 精品国产乱码久久久久久免费 | 国产精品乱人伦|