最近要给客户建个网站,考虑到效率问题,直接找了个开源的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里。
完成以上流程,一个网站思路基本出来了。细节内容仍是须要好好琢磨的,好比我这个网站没有另起一个新的网页。还须要进步的,敬请各位拍砖!