最近要给客户建个网站,考虑到效率问题,直接找了个开源的phpcms,(现在被收购了,以前的时候我还知道是个开源的)。由于对这个东西不熟悉,原来就是了解一些,php的建站系统,php的MVC框架。故此,只要搞到模版,控制台,数据模型就OK。上干货。

第一步就是下载安装。此步跳过。

第二步就是修改模板文件。一般的企业网站该有的,phpcms都具有。所以根据需要,修改 templates/default/content/里的index.html,header.html,footer.html。企业网站网站不需要广告位,也不需要注册,广播等消息,主要是导航,和网站logo。所以把模板不需要的都干掉。

footer.html里面也一样需要干掉东西。加入自己的东东。下面说重点。

phpcms默认的模板有文章模版,图片模板,下载模板,视频模板。在templates/default/content/ 下分别以category,picture,download和video关键字标示。这四种模型就足够了。但是在模版里面不同的模型又分为几种不同的页面,如右图所示红色框内容所示,这四个文件是什么意思呢都以category开头。网站里有的栏目是需要二级导航的,这种情况,当从首页的导航点击之后进入的就回是这四个中的一个,在这四个页面里做子页面的划分。然后是以list开头的表示4个文件,这对应的就是列表。如http://v9.demo.phpcms.cn/网站实例所示的list页面(下图所示)。然后是以show开头的四个模板文件,这是不同模型下每一个内容的展示模

板。知道这个不同模板i对应的功能,做起来就容易多了,最起码知道当你的网站改到不同程度的时候要修改对应的模板。

要注意的是在修改模板的时候,模板里的数据都是一Smarty模板语言写入的。网站里面用的最多的phpcms的模板pc标签是

 {pc:content action="lists" catid="$catid" order="id ASC" page="$page"}

这个函数的展示内容。这些内容可以看官网的开发文档,学习。

有时候你需要在数据上进行包装操作,这时候就需要写php函数了,也就是control。这个函数该写在什么地方呢,需要写在\libs\functions 下的extention.func.php里面。如果需要扩展新的函数就在这里面添加。同理如果想看看系统的自带的可用的函数在此路径下的global.func.php里面。这样就可以做出来你要的网站了。

在做这个网站的时候,我需要做的二级页面的导航效果如下,可以看出是三级导航的效果。在phpcms基础上,改进了代码用到了两个非常重要的函数

 {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里。

完成以上流程,一个网站思路基本出来了。细节内容还是需要好好琢磨的,比如我这个网站没有另起一个新的网页。还需要进步的,敬请各位拍砖!

转载于:https://www.cnblogs.com/kukuchong/p/3543676.html

phpcms 初次建站心得相关推荐

  1. 【个人建站心得】网站备案,让你少走弯路

    继上一篇[个人建站心得]wordpress页面真正静态化插件really static后,有朋友让我写一些建站心得,今天就来聊一聊我的网站备案经历. 网站备案实际上是空间连带域名一起备案,关于备案,我 ...

  2. 腾讯云部署LAMP_建站心得

    本人最近正在捣鼓微信开发,这期间有微信开发的服务器配置,既然要服务器配置,就少不了LAMP平台的搭建(期间参考了阿里云的建站教程,但照搬肯定在腾讯云搭载不起来)可能有些步骤是多余的,错了的话的理解一下 ...

  3. 使用phpnuke建站心得

    小弟自从2002年来到中国Linux公社, 被公社使用的PHPNUKE所吸引,自己也开始用了它做为建站的程序. 后来因为觉得太过正规,对于个性散漫的我更喜欢另类风格, 所以最后还是只采用了PHPBB ...

  4. 谈谈建站心得(转载)[精华]

               从事互联网行业已经7年了,有一些感悟在脑中盘旋.经历了很多教训以及狂热,工作与生活给了我一些教训与心得,遇到一事情时,经常有一种似曾相识的感觉,但真要说出所以然,似无法将他们高度 ...

  5. bemusic,一个音乐网站建站心得分享

    发现bemusic这个网站源代码大约在今年的4月中旬,之前和期间和测试过几个音乐网站源代码,如:phpsound,JYmusic,soundkit等,也测试过wordpress的几个音乐方面的主题,总 ...

  6. 建站心得之discuz门户程序相比ZBLOG具有哪些优势[图]

    以前我是采用discuz门户程序建站的,因为个人觉得,这套程序确实不错,而门户discuz门户也可以生成纯静态HTML文件,这对于我们有特殊要求的站长来说,非常重要,因为纯静态不仅可以提升网页的访问速 ...

  7. 【个人建站心得】wordpress页面真正静态化插件really static

    有好几周没来写博客了,不过每天都还会来博客园看看.前一阵子看同事建了个站,自己也摸索着看了些关于建站的资料,买了域名.空间,突击了些wordpress知识,开始搭起了属于自己的站(www.nhliwu ...

  8. 记本阶段建站心得,是走无限做垃圾站之路还是真正的开发之路

    不知不觉,上班有三个月了,三个月除却一些公司里杂七杂八的事,我做了四个站,第一个是六安市志愿者会员管理系统,比较简单,用TP开发,从前台设计.布局,到数据库设计,再到后台代码,改了又改,最后花了近一个 ...

  9. Phpcms v9建站详细流程

    1.创建数据库(如Phpmyadmin): 2.下载并安装phpcms v9: 3.将css.js.images放置在statics文件夹下,分别建新文件夹存放:模板文件放置在templates文件夹 ...

最新文章

  1. Jetty源码学习3-启动服务器
  2. 字母组成美丽的图形 c语言,[原创]美丽蝴蝶
  3. HTTP协议与TCP/IP协议的关系
  4. 不用精子就能繁育后代,科学家只用1个卵细胞就培育出健康小鼠,来自上交医学院 | PNAS...
  5. IIS 之 失败请求跟踪规则
  6. mongoDB3.0.2 升级操作
  7. django后台数据管理admin设置代码
  8. python 查询sqlserver 视图_SQL Server 2017 数据库教与学(教学大纲,含Python+SQL Server案例)...
  9. phpcmsV9 添加内容:如何“增加复选框、下拉菜单”(含案例、截图)- 教程篇
  10. 1.C#项目Java化注意事项
  11. python 学习总结----正则表达式
  12. tensorflow/pytorch 设置GPU的使用
  13. 1040. 有几个PAT(25)
  14. [LeetCode]Letter Combinations of a Phone Number
  15. python用def编写calsum函数_python高阶函数——返回函数(闭包)
  16. 灰鸽子***猛增五百多变种 网民生活受***监控
  17. offer来了(原理篇)学习笔记-第9章设计模式
  18. maven本地仓库配置
  19. linux cd系统下载地址,Mandriva 2008.0 正式版 CD、DVD HTTP下载地址
  20. mismatch,equal比较两序列

热门文章

  1. 精益画布和数据分析框架
  2. 百度公司创始人李彦宏
  3. python split函数
  4. MFC BLENDFUNCTION 结构体
  5. ros端和stm32之间的通讯1 控制小车移动以及导航的配置
  6. 使用 javassist 反编译 class 并重新打包 jar
  7. cmseasy漏洞复现
  8. 信用卡申请已获批,等待领卡中...
  9. VLC预览高分辨率视频导致视频花屏分析笔记
  10. 苏杭计算机发展,“英才计划”计算机学科大师报告走进苏杭