最近要給客戶建個網站,考慮到效率問題,直接找了個開源的phpcms,(如今被收購了,之前的時候我還知道是個開源的)。因爲對這個東西不熟悉,原來就是了解一些,php的建站系統,php的MVC框架。故此,只要搞到模版,控制檯,數據模型就OK。上乾貨。php
第一步就是下載安裝。此步跳過。css
第二步就是修改模板文件。通常的企業網站該有的,phpcms都具備。因此根據須要,修改 templates/default/content/裏的index.html,header.html,footer.html。企業網站網站不須要廣告位,也不須要註冊,廣播等消息,主要是導航,和網站logo。因此把模板不須要的都幹掉。html
footer.html裏面也同樣須要幹掉東西。加入本身的東東。下面說重點。框架
phpcms默認的模板有文章模版,圖片模板,下載模板,視頻模板。在templates/default/content/ 下分別以category,picture,download和video關鍵字標示。這四種模型就足夠了。可是在模版裏面不一樣的模型又分爲幾種不一樣的頁面,如右圖所示紅色框內容所示,這四個文件是什麼意思呢都以category開頭。網站裏有的欄目是須要二級導航的,這種狀況,當從首頁的導航點擊以後進入的就回是這四個中的一個,在這四個頁面裏作子頁面的劃分。而後是以list開頭的表示4個文件,這對應的就是列表。如http://v9.demo.phpcms.cn/網站實例所示的list頁面(下圖所示)。而後是以show開頭的四個模板文件,這是不一樣模型下每個內容的展現模ide
板。知道這個不一樣模板i對應的功能,作起來就容易多了,最起碼知道當你的網站改到不一樣程度的時候要修改對應的模板。函數
要注意的是在修改模板的時候,模板裏的數據都是一Smarty模板語言寫入的。網站裏面用的最多的phpcms的模板pc標籤是oop
{pc:content action="lists" catid="$catid" order="id ASC" page="$page"}
這個函數的展現內容。這些內容能夠看官網的開發文檔,學習。學習
有時候你須要在數據上進行包裝操做,這時候就須要寫php函數了,也就是control。這個函數該寫在什麼地方呢,須要寫在\libs\functions 下的extention.func.php裏面。若是須要擴展新的函數就在這裏面添加。同理若是想看看系統的自帶的可用的函數在此路徑下的global.func.php裏面。這樣就能夠作出來你要的網站了。網站
在作這個網站的時候,我須要作的二級頁面的導航效果以下,能夠看出是三級導航的效果。在phpcms基礎上,改進了代碼用到了兩個很是重要的函數this
{php $i=0} {loop subcat($top_parentid) $v} {php if($v['type']!=0) continue;} <div class="accordion-group"> <div class="accordion-heading"> <a class="accordion-toggle {if $v[catid]==$catid||($catid==$top_parentid&&$i==0)}picture-nav-hover{/if}" data-toggle="collapse" data-parent="#accordion2" href="#collapse{$i}"> {$v[catname]} </a> </div> <div id="collapse{$i}" class="accordion-body collapse {if $v[catid]==$catid||($catid==$top_parentid&&$i==0)}in{/if}"> <div class="accordion-inner"> <ul > {php $j=0} {loop subcat($v[catid]) $r} {php if($i==0) $obj=$r['catid']} <li><a href="{$v[url]}" >{$r[catname]}</a> {$j++} {/loop} </ul> </div> </div> </div> {$i++} {/loop}
其中兩點說明:1)$top_parentid 是當前頁面的欄目所屬於的頂層欄目的catid。2)subcat(id) 函數做用就是找到所傳參數的全部子欄目。有了這些前臺頁面效果基本搞定,特效仍是須要js來搞的。
後臺頁面:
phpcms有不少系統變量,好比後臺登錄頁面的logo頁面,版權說明就是一個默認的變量,若是要修改要去哪裏修改呢,在/languages/zh-cn 裏的system.lang.php的93行。
後臺管理有升級的時候常常會出提示,我要幹掉提示要在哪裏幹掉呢,在\libs\classes 裏的update.class.php裏面。把notice的內容去掉便可
function notice() { return $this->url('notice'); } 改爲 function notice() { }
當添加內容的時候須要圖片有個水印功能,這個圖片咱們能夠幹掉,在\statics\images\ 下面的water文件夾幹掉。這樣phpcms 找不到水印圖片就會添加文字,咱們只須要把文子修改掉便可。在\libs\classes 下面的image.class.php裏面找到128行 函數water_maker 裏面的參數$w_text換成你要的文字
function watermark($source, $target = '', $w_pos = '', $w_img = '', $w_text = '須要添加的文字',$w_font = 8, $w_color = '#ff0000')
最後若是想把後臺弄的乾淨些,去掉用不到的功能,只須要在modules\admin\templates 裏面修改index.tpl.php,main.tpl.php,header.tpl.php.
第三步修改樣式。主要修改的css文件有兩個:default.blue.css,和reset.css。兩個文件。對首頁和內容頁面的修改集中在default.blue.css裏。
完成以上流程,一個網站思路基本出來了。細節內容仍是須要好好琢磨的,好比我這個網站沒有另起一個新的網頁。還須要進步的,敬請各位拍磚!