-

Content Management System简称CMS,中文叫整站系统或者文章系统。CMS广泛应用于企业网站、个人网站、博客、电子商务网站等需要定期、频繁更新内容的网站,可以轻松处理大量的数据请求,实现便捷高效的管理。如果有一个好的系统来支撑你的网站,那将节省大量的人力物力,你只要配置安装好,网站内容管理者只要定期更新数据,剩下的事就交给CMS去处理就好了,下面先以“PHPCMS2008”为实例,教你如何使用CMS开发网站,并且文末还有一些其他的PHP开源CMS系统推荐及下载,希望能对你的工作和学习带来帮助。


一、PHPCMS

Phpcms2008是一款基于PHP+Mysql架构的网站内容管理系统,也是一个开源的 PHP 开发平台。Phpcms 采用模块化方式开发,功能易用便于扩展,可面向大中型站点提供重量级网站建设解决方案。Phpcms自发布phpcmsv9之后,已稳居国内cms系统使用率第一名,更证明了phpcms产品的市场认可度。

下载

点此下载程序源码包,解压,把PHPCMS文件内的全部文件和文件夹放到服务器根目录。 

备注:Phpcms2008安装包内有2个文件夹: doc和phpcms。Doc文件夹中的.htaccess文件是Web服务器Apache 中特有的一个配置文件,操控着服务器上的许多行为,我们可以利用它来做许多事情,例如:设置访问权限,网址重定向,等等,一般放在网站根目录。

安装

本地访问http://localhost/install/安装PHPCMS,如果设置其他地址或端口,请设置相应的url即可。

访问

安装完成,进入后台http://localhost/admin.php,依次点击“我的面板”、“更新缓存”、“生成首页”,即可用http://localhost/访问到网站首页。

二、网站开发


修改网站标题 
进入后台http://localhost/admin.php,点击“我的面板”中“网站设置”,可以看到好多设置选项,“网站设置”是网站常用设置的基本配置选项。

修改网站标题

如果网站只在本地安装,请勿修改网站地址选项,如果服务器安装,此处填写域名即可。

建立模型
模型的建立是为了对内容更好的适应采取的方式(本质是新建一张表),比如今日推荐的信息与电影的相关内容,而phpcms默认的模型(如新闻)并没有提供一些特殊的字段,如电影的导演,电影的上映日期等。所以我们需要建立一个模型 。

添加
依次点击“系统设置”、“模型管理”、“添加模型”输入相应的信息之后,保存即可。

字段
模型建立成功之后,就可以为模型添加字段了,点击管理模型,字段管理,添加字段,输入相应的信息,保存。下图是电影模型的部分字段示例:


字段

修改字段排序,可以按照你想要的格式添加内容。

建立栏目
栏目是网站内容分类的方法,比如一些电影网站的栏目的动作栏目,爱情栏目分类等等。一个栏目使用一个模型,一个模型可以被无数个栏目使用.依次点击“系统设置”、“栏目管理”、“添加栏目”可看到添加页面,下面依次解释各个选项的意思:

1、上级栏目
上级栏目只是本栏目结构上的父栏目。比如动作栏目上面的电影栏目,如果选择“无”,则添加的栏目即为一级栏目。

2、栏目类型
内部栏目如上面的电影栏目,是网站实际存在的栏目。 单网页是指一个网页,实质不存在任何于一个实际栏目,如一般网站的联系我们,企业介绍等。外部链接指以栏目的形式链接到其他网站的一个链接。、

3、绑定模型
绑定模型:使用哪一个模型。 下图是建立一个栏目的示意图:

绑定模型

4、扩展设置
点击下一步之后可以设置本栏目的信息,重点讲解“扩展设置”中的栏目页模板,列表页模板和内容页模板。  
    
如果一个栏目之下还有一个栏目(如果电影之下动作栏目),那么访问这个栏目(电影)时,对应的模板文件是以category开头的栏目页模板,如果访问子栏目(动作)时,对应的模板文件是以list开头的列表页模板,而内容页模板文件以show开头,对应的是动作里面的内容显示的页面。 

注意:如果一个栏目没有父栏目,栏目页模板是闲置的,只访问list列表页文件。

自定义模板文件
所谓的模板文件就是,html页面中加入了一些php和smarty东西,当然,PHPCMS加入了自己特有的中文标签。修改模板文件是大多数使用phpcms的主要工作之一,毕竟谁都不愿意自己的网站和别人的一模一样。 模板文件存放在\templates\default\文件夹之下。    

phpcms文件夹对应的内容模块,  

search对应的是全站搜索的模块等。  

Phpcms文件夹内的index文件是全站的首页模板。下面讲解首页里除html之外的几个地方,html 和css 、js等内容大家自己去学习。 

引用
{template 'phpcms','header'}---当前页面引用phpcms文件夹内的header.html文件

中午标签
{tag_首页幻灯片}---phpcms特有的中文标签技术,在”模板风格”、“PHPCMS”、“管理内容标签”-选择{tag_首页幻灯片}进行查看,中文标签技术本质上是生成loop循环语句,和{get}作用一样。

碎片
{block('index', 1)}---phpcms中的碎片。所谓碎片是在一个页面中加入一些固定的内容,但可以不用修改html文件即可达到编辑内容的特殊文件格式,像是生活中的便利贴。如果站的联系我们等,一般单网页使用碎片功能。 

加入碎片方法(重要):在页面中按照{block('index', 1)}格式加入一个碎片(如在index.html页面中加入碎片),在“模板风格”, “PHPCMS”、“管理模板”找到index.html,点击“可视化”按钮进入页面编辑模式。 点击黄色区域即可添加碎片,之后可以再“碎片管理”中更改内容。

Get语句
{get sql="select d.contentid,d.supports,c.title,c.style,c.url from phpcms_digg d left join phpcms_content c on d.contentid=c.contentid where c.status=99 order by d.supports_week desc" rows="10"}-->   
<li><span>{$r[supports]}</span><a href="{$r[url]}" target="_blank" class="{$r[style]}">{str_cut($r[title], 44)}</a></li>  
{/get}

Get语句是模板页面中使用mysql语句,调用内容的标准方法之一,不能使用limit语句,用rows替代。 上述语句表示调用一周DIGG最多内容的排行。


添加自定义模块

自定义模块是phpcms框架重要开放标准之一,用户可以根据需求自定义,当然这需要懂php。添加自定义模块的方法是:“系统设置”、“模块管理”、“添加模块”。 

有些网站的打分功能,就是通过添加模块来实现的,大家可以再phpcms官方论坛上找下打分模块。

三、网站发布

Sitemap.xml文件是搜索引擎抓取网页的核心文件之一,向搜索引擎提交之后,可以提高收录量,加快快照更新速度等。PHPCMS可以自动生成sitemap.xml文件,访问地址是http://域名/sitemap.xml. 在“系统设置、系统工具、百度谷歌图”中设置更新频率等。  

百度sitemap.xml提交地址:zhanzhang.baidu.com  

Googlesitemap.xml提交地址: google.com/webmasters/tools/?hl=zh_CN

四、常见问题

可视模式下无法编辑碎片

影响phpcms碎片功能操作的js   header.html中包含了一下3个JS 
<script language="JavaScript" src="images/js/jquery.min.js"></script> 
<script language="JavaScript" src="images/js/common.js"></script> 
<script language="JavaScript" src="images/js/config.min.js"></script>
以上3个JS文件删除、修改、和首页图片广告js代码冲突都会影响后来碎片管理功能,具体表现为碎片出无黄色背景,且不可编辑、添加碎片悬浮按钮能够显示但不能点击 以上3个JS文件被影响是直接的,无需更新首页、清除缓存、清除浏览器缓存。

set_magic_quotes_runtime() is deprecated
在安装PHPCMS出现Deprecated: Function set_magic_quotes_runtime() is deprecated 错误,查了一下网络及资料发现是PHP5.3和PHP6.0之后移除了set_magic_quotes_runtime()函数。 

解决办法: 
 //@set_magic_quotes_runtime(0); 
ini_set("magic_quotes_runtime",0); 
 
就是用ini_set()办法替代原有的set_magic_quotes_runtime语法。

基于PHP的开源CMS系统推荐

1. DynPage

DynPage 是一个无数据库的开源 CMS,集成了著名的编辑器 CKEditor。CKeditor 所编辑的页面中可插入 Ajax/JavaScript 和 PHP 代码,因此,DynPage 可支持跨站获取内容。


DynPage

2. DynPG

DynPG 是一个免费的基于 PHP 和 MySQL 的内容管理系统(CMS)。DynPG 的所有模块都是免费的,并基于 GNU 许可。


DynPG


3、Elxis

Elxis 是一个符合 W3C 标准的、具有多语言支持的内容管理系统。


Elxis

4. eliteCMS

Elite CMS 是一个为不具备 HTML 和 PHP 知识的人创建的内容管理系统。


eliteCMS


5、HBcms

一个以PHP官方推荐 的PEAR+SMARTY技术架构的cms,2006年才推出,完全符合cms的发展趋势,简单,易用,美观。

HBcms