PHPCMS V9 學習

在實現PHPCMS網站過程中,根據業務需求,我們遇到很多問題,特此總結如下,以便大家參考學習。

【1】PHPCMS V9系統目錄簡析

在研究所有問題之前,請先了解一下系統的文件目錄結構,具體如下圖所示:
在這裏插入圖片描述

【2】想修改默認的模板風格怎麼辦?

PHPCMS V9默認的網頁模板在phpcms目錄下的templates文件夾。如果想更換模板,可以根據新模板的文件組織結構,分別覆蓋default文件夾和static文件夾。然後到網頁後臺管理平臺,切換網頁風格,就可以看到新換的網頁模板首頁樣式。

後臺管理操作步驟如下:設置——>站點管理——>修改–>模板風格配置(切換風格,當然風格由自己提前添加進代碼目錄中)
在這裏插入圖片描述

【3】如何修改WampServer默認存放網頁的文件夾?

左鍵單擊在這裏插入圖片描述,點擊「www directory」,可以打開WampServer默認存放網頁的文件夾(例如 C:\wamp\www)。

實際的工作中,存放網頁的文件夾有可能不在www目錄下,或者WampServer安裝的盤符空間太小,爲了網站以後的可擴充性考慮,想把網站的實際路徑更換一下等等場景,需要修改WampServer默認的存放網頁的文件夾。修改步驟分爲以下幾步:

1. 打開WampServer的安裝目錄,再打開裏面的「script」文件夾,用Notepad++打開裏面的config.inc.php文件,搜索「wwwDir」,大概61行找到「$wwwDir = $c_installDir.’/www’;」,改成我們希望的目錄即可,比如改成D:\webdirectory,對應的代碼爲:

1 $wwwDir = $c_installDir.'d/webdirectory';

2. 打開WampServer的安裝目錄,找到文件夾(本地安裝在C盤) C:\wamp\bin\apache\apache2.4.9\conf,用Notepad++打開httpd.conf文件,搜索「DocumentRoot」,大概230行,修改爲:

1 DocumentRoot "d:/webdirectory/"

再搜索「Directory」,大概252行,修改爲:

1 <Directory "d:/webdirectory/">

3. 重新啓動所有服務Restart All Services,直到圖標顏色變爲綠色爲正常。否則,請首先檢查修改的目錄是否已存在;再檢查上面的兩步操作是否都正確。

4. 檢查修改結果。再點擊「www directory」,可以看到打開的應該爲剛剛修改過的文件夾目錄即可。另外,在瀏覽器網址欄輸入:http://localhost/phpcms/index.php 查看網頁默認模板首頁正常。

【3】外網訪問我們配置好的WampServer服務器腫麼辦?

安裝完WampServer和PHPCMS後,我們可以在本機瀏覽器訪問到網站的首頁,但是當我們嘗試通過外網訪問配置的服務器時候,發現外網訪問會提示權限不允許,這是因爲WampServer默認是隻允許127.0.0.1訪問的,也就是隻允許本機訪問。那麼,如何修改呢?找到 C:\wamp\bin\apache\apache2.4.9\conf,用Notepad++打開httpd.conf文件,搜索「onlineoffline」,大概278行左右,屏蔽Require local,添加爲Require all granted。如下圖所示:
在這裏插入圖片描述

【4】上傳文件大小受限怎麼辦?
在這裏插入圖片描述

如上圖所示,默認單個文件大小爲2MB。修改附近配置步驟如下:

1. 修改phpcms後臺配置

phpcms後臺管理–>站點設置–>修改–>附件配置–>允許附件大小,輸入數值如10240。(當然,這個值可以是你想要任何大小)
在這裏插入圖片描述

2. 修改php.ini文件配置

打開php的配置文件php.ini(文件路徑:)。搜索「upload_max_filesize」,把這個值改爲10240(如上,值可以根據自己需要改)。  
繼續在php.ini中搜索「post_max_size」,把這個值改爲300000。(表單提交的最大限制值,此項不是限制上傳單個文件的大小,而是針對整個表單提交的數據進行限制。)
  注意:一定要保證post_max_size >= upload_max_filesize,也就是前者一定要大於後者。另外,修改後一定要重啓服務器,一定要重啓。

【5】網站在發展的過程中,很可能需要多次的修改域名,那麼修改域名應該怎麼進行設置呢?

修改域名的步驟分爲以下幾步:

1. 修改/caches/configs/system.php裏面所有與域名有關的,把以前的老域名修改爲新域名就可以了。

2. 進行後臺設置–>站點管理。對相應的站點域名進行修改。

3. 更新系統緩存。點擊後臺右上角的「更新緩存」按鈕。

4. 切換至內容–>附件管理–>附件地址替換。把附件地址批量的替換爲新的地址。

5. 切換至內容–>批量更新URL。把所有文章的地址都自動更新一下。

域名修改後,可以通過瀏覽器利用域名進行訪問,測試一下效果。

【6】網站遷移的方法

網站遷移工作比較重要,具體可以分爲兩個方面:源網站的準備內容;新網站的部署任務。

源網站的準備內容,大概羅列爲一下幾點:

1. 備份數據庫

登錄網站管理平臺,在「擴展」菜單下的「數據庫工具」欄中的「請選擇數據鏈接池」區域中選擇在使用的數據鏈接池,這時在下面會顯示相應的表單文件名,全部選擇後單擊「開始備份數據」,備份完成後會彈出「備份成功」的提示語。這時會生成一個(或多個)SQL格式的文件在網站的「caches/bakup」文件夾裏。
在這裏插入圖片描述

2. 下載數據庫

完成上面的備份後,系統會自動將數據庫按2M(即2048KB)左右的大小按文件存放,備份完後可以單擊對應的文件後面的「下載」連接來下載相應的SQL格式的備份,一般會有多個文件,注意備份文件後面的序號。當然也可以使用FTP軟件一次下載(或拷貝)。

3. 下載網站模板

網站的風格和樣式都存放在模板文件中,模板文件存放在"phpcms/templates",通過FTP下載(或拷貝)這個文件夾。

4. 下載css文件

如果網站曾經修改過模板的位置及效果,這時需要下載(拷貝)css文件,需要備份的文件夾爲「statics/css」。

5. 下載數據庫配置文件

數據庫配置文件在「caches/configs」文件夾下的「database.php」,這裏主要是數據庫的名稱及頭,格式如下,下載(或拷貝)後在新建安裝軟件時要使用到。

1 <?php
     2 return array (
     3     'default' => array (
     4         'hostname' => 'localhost',
     5         'port' => 3306,
     6         'database' => 'phpcmsv9',
     7         'username' => 'root',
     8         'password' => '',
     9         'tablepre' => 'v9_',
    10         'charset' => 'gbk',
    11         'type' => 'mysql',
    12         'debug' => true,
    13         'pconnect' => 0,
    14         'autoconnect' => 0
    15         ),
    16 );
    17 ?>

6. 下載(拷貝)附件

PHPCMS V9默認附件的文件夾爲「uploadfile」,原來的圖片、上傳的文件都在這個文件夾中,需要進行下載(或拷貝)。

新網站的部署任務,大概分爲一下幾步:

1. 安裝網站程序

在新的網站上安裝與原來網站字符一致的PHPCMS V9,在數據庫設置時,需要用到數據庫名和頭,請使用上面(5)的內容。

2. 上傳源網站備份數據

將備份的SQL文件上傳(粘貼)到新的網站「caches/bakup」文件夾。

3. 上傳源網站模板

將原來網站的模板文件上傳(粘貼)到「phpcms/templates」文件夾。

4. 上傳源網站css文件

如果沒有使用默認程序的CSS,請將備份的CSS上傳(粘貼)到「statics/css」

5. 上傳附件

將下載的「uploadfile」文件夾上傳(粘貼)到新的網站根目錄下。

6. 恢復數據

登錄到新網站的後臺,在「擴展」菜單下的「數據庫工具」中選擇「數據導入」,在下面選擇上傳的備份數據,請檢查是否完整,選中全部後單擊「恢復」將數據進行恢復。

7. 更新網站緩存

完成數據恢復後,請更新全站的緩衝,再檢查相應的欄目數據是否完成。

8. 生成網站與欄目及首頁

檢查網站的設置後,生成網站的網頁、欄目及首頁,就可以完成了。

到此,網站遷移結束。

【7】想修改網頁的首頁佈局等,應該從哪裏下手?

在default/content目錄下,存在一個index.html文件,該文件就是首頁模板。

同時,在該目錄下,存在一個header.html文件,該文件是網頁的頭部。

在該目錄下,存在一個footer.html文件,該文件是網頁的底部。

在static/css目錄下,存在網頁的樣式調整文件,即各種的css類型文件。

那麼,網頁具體使用到了哪種樣式文件呢?可以用瀏覽器打開網頁,然後在極速模式(注意與IE兼容模式區別)下,右鍵找到「審查元素」,然後查看待修改樣式的部分到底是由哪個css文件控制,這樣就可以把css文件與html文件的依賴關係找到,然後可以根據需求調整css文件的內容。

關於html文件,可以參見《HTML5》

關於css文件,可以參見文章《CSS》

【8】如何修改phpcms v9系統的logo圖標?

修改logo圖標?首先,必須弄明白logo圖標是怎麼添加到網站上的。

任何看到的東東都不是憑空、無緣無故產生的,當然,包括精神和物質的,比如愛和錢。那麼,logo圖標呢也不例外,可以篤定肯定有這樣的一張圖片。好吧!既然有這樣的一張圖片,在哪裏放着呢?分析一下phpcms v9的文件目錄結構,可以大概猜測到這張圖片應該放置在\static\images目錄下,具體呢?再搜索一下,哦嗯,她就在v9文件夾中。嗯哼,她默默的「藏」在這裏,發揮着她不可替代的作用,真可謂網站博大精深,系統分工不同哈。

再思考,網站網頁上是怎麼應用到她的呢?哦嗯,這個就得研究具體的網頁文件,比如這裏的\phpcms\templates\default\content\header.html文件,用Notepad++打開這個文件內容,搜索字符串「logo」,嗯,大概是這樣子的一行代碼:

<div class="logo"><a href="{siteurl($siteid)}/"><img src="{IMG_PATH}v9/logo.jpg" /></a></div>

有人這個時候靈機一動,就要說:「你個騙子呀~ 我腫麼知道是這個header.html文件呢?」問得鏗鏘有力,問得見微知著,問得無語凝噎。誰問的?你站出來,我不打你。其實,打你是因爲你問問題之前的那句感概,看來我要力爭澄清我不是一個名副其實的騙子。

打開瀏覽器,輸入http://localhost/phpcms/index.php 回車,我們可以看到網站的首頁頁面,如果看不到的話,請檢查你機器上的WampServer服務器是否已經正常啓動。當看到首頁,然後在網頁的任意位置右鍵,尋找<審查元素>行,什麼?木有看到?真的找不到?那說明你瀏覽器目前是IE兼容模式,請先切換瀏覽器到極速模式。關於瀏覽器模式切換請自問度娘,因爲每種瀏覽器的操作好像都有所差異,具體得根據你正在使用的瀏覽器再進行切換。切換完後,再尋找<審查元素>行,點擊選中後,看到了右邊的界面如下圖所示:

在這裏插入圖片描述

所謂審查元素,就是指右邊的各個標籤或塊等都與左邊的網頁元素項是一一對應的,當鼠標在右邊移動到具體的塊或標籤區域時,左邊網頁會鎖定到具體的元素對象上,整個過程的表現相當於審查的作用。好,當焦點放在上圖的紅色框行,我們可以看到左邊網頁選中的恰是系統的logo圖標,這時再看看src值內容,那麼到此至少說明了一點,這個圖標的名稱是logo,類型爲jpg,存放的目錄爲:\phpcms\statics\images\v9 嗯,也就驗證了剛剛關於logo圖標存放位置的猜測。

接下來,由於我們已經知道剛剛右邊查看的網頁文件是index.html,神馬?這個你還不知道?那你再折回去看看此篇文章第一個問題。現在用Notepad++打開\phpcms\templates\default\content\index.html文件,大膽的搜索「class=「logo」」,嗯哼?查不到?竟然找不到?難道,剛剛審查的不是這個網頁嗎?請先再覈對一下,經覈對後肯定的確是這個index.html。那麼,問題出在哪裏呢?看來還得分析這個index.html文件,哇哈~ 這麼多內容,到底從哪裏開始呢?有點丈二和尚摸不着頭腦。不要着急,不要心慌,不要僥倖,既然不知道從哪開始就從頭開始唄~ 嗯,這個時候得沉住氣,往往尤其這個時候才考驗一個人能不能幹大事。從第一行開始,第一行內容如下:

{template 「content」,「header」}
不應該呀!HTML文件一般的結構應該是先有head,再有body,即使沒有head,至少也應該存在body。要不說人還得多見世面,如果你真的還不懂這一點,那請你惡補《我的第一個HTML頁面》。在index.html中搜索「head」,木有找到;再搜索「body」,也木有找到,看來此處另有玄機!喝杯水,伸個懶腰,下午茶來了?讓我先吃點水果。

從HTML文檔的結構分析,還得從第一行着手。剛剛上道,不懂這行代碼幹嗎的?問度娘,不行就問谷哥,啥年代了還有解決不了的問題!通過網詢,這句代碼的作用是:調用(相當於包含頭文件)根目錄下phpcms\template\content\header.html文件。哦,嗯,今天的下午茶是酥梨,本來酥梨應該是酥的,卻偏偏套了個外袋,看着潔白無瑕,實則寡湯無味。當我左手握着大梨,右手輕輕的把header.html文件拖到Notepad++主界面打開的時候,我才瞬間嚐到了一點酥梨的酥,恍然大悟,正是這個頭文件,終於找到了她。當我潛意識的準備搜索「class=「logo」」時,才第一次發現我的右手很彆扭的不能同時按下Alt + F鍵,於是用右手接過左手的梨,同時左手很傲嬌似的嫺熟的通過快捷鍵打開了查找窗體。果然,看到了真面目,即審查元素時,當左邊鎖定系統圖標,右邊那坨代碼(就是上圖中紅色框的上下文代碼),正是我們需要查找的。

說到這裏,讓我鬆了一口氣。要現在再有人說我是騙子的話,建議你點擊網頁右上角的叉,關閉此網頁,我真不想和你做朋友了!

好勒~ 來龍去脈都搞清楚了,更換系統logo圖標自己看着辦吧~ 其實只需一步:用你想換的圖標把logo.jpg替換了。當然,爲了以後方便,建議把原logo.jpg文件的名稱修改爲logo_old.jpg即可,真的覆蓋掉了以後想再找個還不好弄了。

【9】PHPCMS V9系統數據庫,數據表結構

關於這個問題,可以參見《phpcms v9數據表結構在線版》

【10】PHPCMS V9系統php文件的結構以及作用

關於這個問題,可以參見《phpcms v9框架的目錄結構分析》

【11】phpcms V9默認模板文件目錄結構詳解

關於這個問題,可以參見《phpcms v9默認模板文件目錄結構詳解》

【12】默認模板詳情列表

可以通過後臺管理系統直接查看:

操作步驟如下圖所示:
在這裏插入圖片描述

結果如下:

在這裏插入圖片描述

【13】如何理解V9系統的設計邏輯?

從PHPCMS V9的後臺管理系統分析,要深入學習該系統,必須從以下內容深入。

首先,我們得理解站羣。具體請參見《phpcms V9站點管理實現站羣功能》、《利用phpcms V9站羣功能建立多個分站》。

站點管理入口:
在這裏插入圖片描述

其次,我們需要理解模塊,請參見《phpcms V9二次開發之模塊開發[360度無死角完全版]》

另外,就是內容部分。phpcms V9是標準的MVC框架,內容部分是網站的核心數據部分,爲了便於擴展和維護,必須理解模型、欄目、附件管理。

當新建一個新欄目,是以什麼樣的模型進行內容維護,模型管理:

在這裏插入圖片描述

當要向網頁添加一個新欄目時,欄目管理:
在這裏插入圖片描述

當有下載模塊時,需要維護用戶上傳的附件項,附件管理:

其他…

【14】phpcms V9後臺各個php文件的詳細分析

關於相關content、attachment、download等等文件的分析,請參見系列博文《phpcms-v9深入研究》

【15】PC標籤概述

1. PC標籤使用簡介

PC標籤必須以{pc}開始,並以{/pc}結尾。{pc:}冒號之後跟隨的是模塊名。作爲程序員,總覺得代碼最接地氣,請看聲明:

{pc:content  action="position" posid="9" order="id" num="10" cache="3600"} {/pc}

可見,上面是使用的特例,其實模板更簡單:

{pc:模塊名/其他 參數名="參數值" 參數名="參數值" 參數名="參數值"} {/pc}

當然,不以{/pc}結尾並不會引起程序致命性的錯誤,導致無法繼續運行。但是,兩種可能會出現的問題如下:

[1] 當網頁中出現兩個PC標籤時,可能會使得沒有閉合的PC標籤之後的標籤數據與其混亂。

[2] 在後臺可視化編輯時,可能出現網頁結構錯亂的情況。

2. PC標籤包含兩類,分別爲:

2.1 工具類(網址:http://v9.help.phpcms.cn/html/2010/tools_0906/3.html)

關於工具類的詳解,請參見以下幾種情況:

[1] phpcms v9開發文檔《json工具箱》

[2] phpcms v9開發文檔《xml工具箱》

[3] phpcms v9開發文檔《get標籤》

[4] phpcms v9開發文檔《碎片工具箱》

2.2 模塊類

在PHPCMS V9中我們正式開始使用PC標籤作爲數據的獲取方式。

關於模塊類的詳解,請參見以下文章:

《前臺content模塊中PC標籤的調用說明》

《前臺其他模塊pc標籤的調用說明》

【16】網站的 SEO配置 是幹神馬的?

SEO,Search Engine Optimization,即搜索引擎優化。指在瞭解搜索引擎自然排名機制的基礎上,對網站進行內部及外部的調整優化,改進網站在搜索引擎中關鍵字的自然排名,獲得更多的展現量,吸引更多目標客戶點擊訪問網站,從而達到網絡營銷及品牌建設的目標。

【17】其他待續…