【phpcms-v9】為phpcms-v9新增熱門搜尋關鍵詞
目前正在用phpcms v9,需要顯示熱門搜尋關鍵詞,Google了幾下沒找到完善的解決辦法。
還是DIY吧。
通過觀察可以發現系統是自帶了關鍵詞模型的,只是沒有實現。
或許是放在下一個版本里,呵呵~ DIY就從 /phpcms/model/keyword_model.class.php入手了。
看一下keyword_model.class.php的內容
defined('IN_PHPCMS') or exit('No permission resources.');pc_base::load_sys_class('model','',0);
class keyword_model extends
public$table_name='';
publicfunction __construct() {
$this->db_config = pc_base::load_config('database');
$this->db_setting ='default';
$this->table_name ='keyword';
parent::__construct();
}
}
從程式碼可以看出關鍵詞表名叫 keyword 可是我們檢視資料庫裡沒有這樣的表名。
那就參照相關搜尋資料表 tb_search_keyword(我安裝的時候用的是tb做表字首)
新建一個熱門搜尋關鍵詞資料表 keyword
SET FOREIGN_KEY_CHECKS=0;-- ----------------------------
-- Table structure for `tb_keyword`
-- ----------------------------DROPTABLEIFEXISTS `tb_keyword`;
CREATETABLE `tb_keyword` (
`keyword` char(20) NOTNULL,
`typeid` tinyint(4) NOTNULLdefault'0',
`searchnums` int(10) unsigned
PRIMARYKEY (`keyword`),
UNIQUEKEY `keyword` (`keyword`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;
這樣資料表就建好了,接下來就是新增和呼叫資料了。 開啟檔案 /phpcms/models/search/index.php 找到 //如果開啟相關搜尋功能if($setting['relationenble']) {在它上面加入以下程式碼 //加入搜尋關鍵詞記錄 imbin 2011/9/13if(!empty($result)){$this->keyword_log_db = pc_base::load_model('keyword_model'); $res=$this->keyword_log_db->get_one(array('keyword'=>$q,'typeid'=>$typeid)); if($res) { //關鍵詞搜尋數+1$this->keyword_log_db->update(array('searchnums'=>'+=1'),array('keyword'=>$q)); } else { $this->keyword_log_db->insert(array('keyword'=>$q,'typeid'=>$typeid,'searchnums'=>1)); } } 這樣就實現了搜尋關鍵詞的新增 再來看看模板呼叫的實現,我用的是 get 標籤。 首先看搜尋結果頁:/phpcms/templates/default/search/list.html {pc:get sql="SELECT keyword,typeid FROM tb_keyword WHERE typeid=$typeid AND searchnums >5 ORDER BY rand()" num="5" return="keywords"} {loop $keywords $k=>$v}<a href="/index.php?typeid={$v['typeid']}&m=search&c=index&a=init&q={$v['keyword']}">{$v['keyword']}a>{/loop} {/pc} |
這裡的排序我用了隨機,因為我不想每次都出現一樣的,呵呵。
附上按搜尋次數排序的Sql語句:SELECT keyword,typeid FROM tb_keyword WHERE typeid=$typeid ORDER BY searchnums DESC
如果是在首頁呼叫,需要去掉$typeid。BTW:如果要在非搜尋結果頁都要去掉$typeid
{pc:get sql="SELECT keyword,typeid FROM tb_keyword ORDER BY searchnums DESC" num="8" return="keywords"}{loop $keywords $k=>$v}<a href="/index.php?typeid={$v['typeid']}&m=search&c=index&a=init&q={$v['keyword']}">{$v['keyword']}a>{/loop}
{/pc}
OK了,DIY完成!
相關推薦
【phpcms-v9】為phpcms-v9新增熱門搜尋關鍵詞
目前正在用phpcms v9,需要顯示熱門搜尋關鍵詞,Google了幾下沒找到完善的解決辦法。 還是DIY吧。 通過觀察可以發現系統是自帶了關鍵詞模型的,只是沒有實現。 或許是放在下一個版本里,呵呵~ DIY就從 /phpcms/model/keyword_mode
【phpcms-v9】利用phpcms-v9站群功能建立多個分站
用一套CMS軟體系統,做多個網站,統一管理,使用者可以互通,這就是所謂的站群功能。這對於運營和維護都能節省很多時間,否則要同時除錯和維護不同系統會非常吃力。 我在用PHPcms v9做了zhencms1.com網站時,打算嘗試下站群功能,新站(或分站)名稱是“女性站點
【 js 基礎 】為什麽 call 比 apply 快?
如果 分享 叠代 [1] get blank 3.4 -a case 這是一個非常有意思的問題。 在看源碼的過程中,總會遇到這樣的寫法: 1 var triggerEvents = function(events, args) { 2 var ev, i
【SpringSecurity系列】SpringBoot整合SpringSecurity新增驗證碼登入
上一篇博文已經介紹過了SpringSecurity的表單登入,這裡我們基於上一篇的基礎上,新增一個驗證碼進行登入,登入頁面效果圖,如圖所示: 首先我們需要建立驗證碼的生成規則,首先建立一個驗證碼的實體: public class ImageCode { /** 驗證碼 */
【7.11】為Date類過載“+”運算子,實現在某一個日期上(月、日、年)加一個天數。
#include<iostream.h> class Date { int month; int day; int year; public: Date(){} Date(int i) {day=i; m
【JUnit實戰】為應用程式Controller設計單元測試
在本章中,我們為一個簡單但完整的應用程式controller建立了一個測試用例。測試用例並不是測試單個的元件,而是檢驗多個組例,如何一起工作。我們從一個可以用於任何類的簡單測試用例開始.然後把新的測試逐個新增到測試用例中,直到所有初始的元件都被測試到。由於斷言變
【踩坑】為base64編碼的圖片生成截圖不顯示
問題 在effevo中設定個人頭像時,會有無法顯示的情況,還不穩定重現,終於抓到問題原因,下面分享下解決方法 解決方法 先看下原始寫法 var imgBase64='data:image/png;base64,iVBORw0KGgoAAAANSU
【Python3爬蟲】為什麽你的博客沒人看呢?
需要 相關 數據量 block form table 進行 for 不能 我相信對於很多愛好和習慣寫博客的人來說,如果自己的博客有很多人閱讀和評論的話,自己會非常開心,但是你發現自己用心寫的博客卻沒什麽人看,多多少少會覺得有些傷心吧?我們今天就來看一下為什麽你的博客沒人看呢
【程式碼筆記】iOS-UIActionSheet動態新增按鈕
一,效果圖。 二,程式碼。 RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController :
【iOS開發】如何給字串新增超連線(響應事件)
首先,我們在開發的過程中,會遇到這樣的問題。比如:點選某一部分的文字跳轉到另一介面。無論是登入協議,保險協議等等吧。 點選使用者協議——》跳轉協議介面 但是UITextView提供了新增超連線的方法,ios7.0之後使用。或許你可以使用UILabel屬性字串和UIButt
【Android Studio】為Android Studio設定HTTP代理
大陸的牆很厚很高,初次安裝Android Studio下載SDK等必定失敗,設定代理方法如下: 1. 到android studio安裝目錄,開啟bin目錄,編輯idea.properties, 在檔案末尾新增: disable.android.first.run=t
【worldwind學習】worldwind android版新增天地圖切片圖層
在國內還是天地圖速度快又清晰,google中國版的有偏移,國外版的被封鎖,還是天地圖首選! /* * Copyright (c) 2017 United States Government as represented by the Administrator of t
Python學習筆記- 廖雪峰教程【python 2】//為繼續學習爬蟲準備-02 [待完善]
裝飾器的作用: 1 簡化程式碼,避免每個函式編寫重複性程式碼:列印日誌@log,檢測效能 @performance,資料庫事務 @transaction,URL路由@post('/register') import time def performance(f):
【小作業】為NLog自定義LayoutRenderer
長話短說 前文《解剖HttpClientFactory,自由擴充套件HttpMessageHandler》主要想講如何擴充套件HttpMessageHandler, 示例為在每個Http請求中的日誌中顯示TraceId, 現在來完成課後的小作業: 將TraceId顯示到Nlog的Layou
【徵文活動】為自己發“聲” —— 聲網RTC徵文大賽在園子裡徵稿
2020年8月20日,聲網Agora入駐園子的新樓盤——部落格園品牌專區。9月,我們與聲網Agora再度合作,「為自己發“聲”— RTC 徵文大賽」在園子裡徵稿。 RTC(Real-time Communication)徵文大賽是由聲網Agora
【C / EasyX】隨機迷宮生成和路徑搜尋(DFS)
==========================================說明=====================================1.用了寫遊戲的基本流程所以介面是持續重新整理的(可能會改成遊戲)2.迷宮生成演算法是深度優先遍歷(DFS),
【LeetCode筆記】113. Path Sum II DFS搜尋+記錄節點
題目: Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given sum. For example:Given the below
【docker Elasticsearch】Rest風格的分散式開源搜尋和分析引擎Elasticsearch初體驗
目錄 概述: 2、問題 二:安裝kibana 1、安裝 2、問題 貳:Elastic search初體驗 一:新增資料
【phpcms-v9】phpcms-v9視訊模型的新增
<a href="javascript:void();" title="清空集數,系統自動從第1集重新排列,適用於集數錯亂時">校正集數</a> <a href="javascript:void();" title="增加一行以便手工填寫">增加一行</a> &
【phpcms-v9】phpcms-v9中新增廣告聯盟程式碼
廢話在前:很多PC站長不知道如何在後臺新增廣告聯盟的程式碼,甚至還抱怨沒有這個功能!(懶惰不願嘗試)讓我來給你挖掘這個小功能吧。【教程】:步驟一:登入後臺->模組->廣告->新增版位 (如圖P1) ->確定 P1步驟二:新增廣告(如圖P2) -&g