您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程
phpcms内容管理系统和碎片技术学习
初丹2025-05-28 23:32:37phpcms教程已有2人查阅
导读一、目前在企业中使用比较多的cms内容管理有如下几种:二、我们选择学习v9版本的phpcms,主要有以下几点原因:三、下面,我们就来进行phpcms v9的安装:
思路:
一、目前在企业中使用比较多的cms内容管理有如下几种:
1、dedecms
2、phpcms
二、我们选择学习v9版本的phpcms,主要有以下几点原因:
1、基于MVC模式的内容管理系统
2、碎片技术
三、下面,我们就来进行phpcms v9的安装:
ci框架的安装,我们只需要按照如下步骤进行操作就可以了
1、官网:http:// .phpcms.cn 去下载phpcms v9较新的版本
2、下载完毕后,解压,并将其复制粘贴到程序的主目录(d:/wamp/xmall/),然后再将其重命名为"mycms",那么"mycms" 就作为cms的项目名称存在了
3、为我们的cms项目搭建一个虚拟主机:
首先,找到httpd.conf配置文件,开启虚拟主机的配置
然后,找到httpd-vhosts.conf配置文件,进行虚拟主机的配置
之后,找到hosts配置文件,为我们的ci项目添加dns映射
4、在浏览器中输入 http:// .mycms.com/install/ 回车,就可进行phpcms v9内容管理系统的安装
四、phpcms v9框架的目录结构分析:
了解v9框架的目录结构,有助于帮助我们快速建立起对v9框架的一个整体认识
打开"mycms"项目,有如下文件和目录
使用协议说明文档、英文版的用户手册,这两项不是项目所必须的,可暂时将其删除
|-----api接口文件目录
|-----caches 缓存文件目录
|-----configs 系统配置文件目录
|-----database.php数据库配置文件
|-----route.php路由配置文件
|-----system.php系统配置文件
|-----cache.php缓存配置文件
|-----configs_*系统缓存文件目录
|-----configs_commons/caches_data主要用来存放后台设置的配置信息
|-----category_content.cache.php栏目与站点映射所对应的配置文件
|-----category_content_1.cache.php站点1下所有栏目的详细配置信息
|-----category_item_1.cache.php文章模型下各栏目所对应的数据量
|-----category_item_2.cache.php下载模型下各栏目所对应的数据量
|-----category_item_3.cache.php图片模型下各栏目所对应的数据量
|-----keylink.cache.php关联链接配置缓存文件
|-----model.cache.php三大模型配置缓存文件
|-----mood_program.cache.php表情配置缓存文件
|-----position.cache.php推荐位配置缓存文件
|-----poster_template_1.cache.php广告位模板配置缓存文件
|-----sitelist.cache.php站点列表配置文件,主要缓存所有站点的基本配置信息
|-----type_content.cache.php多个站点下的类别配置信息
|-----type_content_1.cache.php当前站点下类别配置信息缓存文件
|-----urlrules.cache.phpurl规则配置信息缓存文件
|-----urlrules_detail.cache.phpurl规则详细配置信息缓存文件
|-----special.cache.php专题配置信息缓存文件
|-----role.cache.php角色配置缓存文件
|-----link.cache.php友情链接缓存文件
|-----configs_model/caches_data
|-----content_form.class.php生成表单的类库缓存文件
|-----content_input.class.php入库时,对表单数据进行验证的类库缓存文件
|-----content_output.class.php对从数据表中查询出来的数据进行处理的函数
|-----content_update.class.php对要更新的数据进行有效性验证的函数
|-----model_field_1.cache.php文章模型所有模型字段的缓存信息
|-----model_field_2.cache.php下载模型所有模型字段的缓存信息
|-----model_field_3.cache.php图片模型所有模型字段的缓存信息
|-----phpcmsphpcms框架主目录
|-----languages框架语言包目录
|-----libs框架主类库、主函数库目录
|-----classes
|-----form.class.php表单生成类库文件
|-----application.class.php应用程序类库文件
|-----image.class.php图片处理类库文件
|-----attachment.class.php附件处理类库文件
|-----param.class.phpURL参数处理类库文件
|-----functions
|-----global.func.php公共函数库文件
|-----extension.class.php扩展函数库文件
|-----model框架数据库模型目录
|-----content_model.class.php内容模型文件
|-----admin_model.class.php管理员模型文件
|-----attachment_model.class.php附件模型文件
|-----modules框架模块目录
|-----adminadmin模块
|-----index.phpindex.php控制器文件
|-----contentcontent模块
|-----classescontent模块通用类库
|-----fieldscontent模块模型字段
|-----functionscontent模块通用函数库
|-----templatescontent模块后台模板文件
|-----index.phpindex.php控制器文件
|-----templates框架系统前台模板目录
|-----default默认的模板风格
|-----contentcontent模块模板目录
|-----category.html频道页模板文件
|-----list.html列表页模板文件
|-----show.html内容页模板文件
|-----config.php模板配置文件
|-----phpsso_serverphpsso主目录
|-----statics网站素材文件目录
|-----csscss文件
|-----imagesimages文件
|-----jsjs文件
|-----uploadfile上传附件
|-----admin.php后台入口文件
|-----index.php前台入口文件
五、phpcms v9中的url路由规则:
浏览器中输入 http:// .mycms.com/index.php?m=content&c=index&a=list&catid=1回车时,默认情况下会找到
phpcms框架主目录
|-----modules模块目录
|-----contentcontent模块
|-----index.phpindex.php控制器中list方法来显示列表页面
到底是不是呢?我们打开index.php控制器文件,并在index方法中添加一些代码,运行输出,证明确实如我们所料
我们可以将浏览器中的url归纳如下:
http://域名/入口文件?m=模块名&c=控制器&a=方法名&catid=参数值
当我们在浏览器中输入http:// .myshop.com/index.php 后面没有跟任何参数, 回车时,默认情下会将首页显示出来
这是因为phpcms v9为我们指定了一个默认执行的模块、控制器和方法
默认控制器的设置在 "caches/configs/routes.php" 配置文件中进行设置的,我们可以重新设置默认的控制器
六、栏目的添加
1、pc设计者认为,栏目详情页的数据都应该属于一个模型,所以在添加栏目时,必须给栏目指定一个模型,至于要选择什么模型,完全取决于栏目详情页要显示什么类型的内容
详情页:文章信息类的内容文章模型
详情页:图片类信息图片模型
详情页:下载东西下载模型
详情页:播放视频视频模型
2、如果以上模型还不能满足项目的需要,那么我们还可以自定义模型,通常情况下,一个网站是由多种模型的数据来组成的
3、栏目添加选项:
栏目名称:在网站静态化时,创建一个以此目录名命名的目录来存放当前栏目下相关的模板文件
4、pc的设计者认为,每个栏目会对应当前所选模型的三个模板文件:
频道页模板文件
列表页模板文件
内容页模板文件
这些模板文件所在位置:phpcms/templates/default/content/ 目录下,如果想修改模板文件,只需要到此目录下找到对应的模板文件进行修改就可以了
频道页:category_*.html
列表页:list_*.html
内容页:show_*.html
至此,栏目各页面与模型的三个模板文件对应起来了
注意:频道页面的显示是有条件的(当前栏目必须有子栏目才可以)
5、栏目添加成功后,栏目信息被存储到了v9_category数据表中,同时还被缓存到了phpcms/caches/caches_common/category_content.cache.php文件中,这个缓存文件非常重要,一定要引起足够的重视,前台的很多数据都是直接从此缓存文件中获取来的
七、项目的部署:
1、素材文件:
statics
|-----images
|-----cmsimages项目图片文件
|-----js
|-----cmsjs项目js文件
|-----css
|-----cmscss项目css文件
phpcms
|-----templates
|-----new新的模板风格
|-----content内容模块模板文件
|-----category.html频道页模板文件
|-----list.html列表页模板文件
|-----show.html内容页模板文件
|-----config.php添加模板文件的配置
或者
|-----default
|-----content内容模块模板文件
|-----category_shetu.html频道页模板文件
|-----list_shetu.html列表页模板文件
|-----show_shetu.html内容页模板文件
|-----config.php配置新添加的模板文件
注意:模板文件的命名规范
2、进入后台,将栏目与模板文件对应起来
3、常量的定义:phpcms/base.php文件
4、系统类库、函数库、模型文件及配置文件的加载 全局范围可用,也可以直接在模板文件中使用,在二次开发时,很有用
5、模板语法:
(1)常量表示: (2)变量语法: (3)单行php解析语法 (4)条件判断: 解析为: (5)循环: 解析为: (6)自增自减:通常跟循环一起使用 (7)包含模板文件: 6、内容详情页中的变量从何而来?
找到phpcms/modules/content/index.php控制器中的show()方法,在方法中随意定义一些变量,
然后,看一下是否能够从模板文件中获取到值,答案是肯定的
{title}、{$content}从哪里来?
技巧:如果在控制器方法中不能直接搜到模板文件中的变量,那么此变量必定在extract($data);中 总结:当模板文件中的变量不能在对应的方法中找到的话,那么此变量必定是从$data数组元素中转化而来的
内容页面的变量:
(1)包含模板文件 (2)生成站点首页url的函数
{siteurl($siteid)}
(3)面包屑导航
{catpos($catid)}
(4)来源
{$copyfrom}
(5)发布时间
{$inputtime}
(6)文章描述 (7)内容 (8)短标题: (9)分页代码:
{$pages}
(10)相关搜索词: (11)上一篇、下一篇 (12)统计点击量: (13)网页标题: (14)网页描述: (15)网页关键子: 7、pc标签的使用:在v9中,我们将使用pc标签作为获取数据的主要方式
pc标签分模块来使用,今天,主要来学习内容模块pc标签的使用
内容模块的pc标签可用来完成如下功能:
(1)获取内容列表:lists
(2)获取点击排行榜:hits
(3)获取相关文章:relation
(4)获取栏目列表:category
8、自定义pc标签:pc标签的源代码在 phpcms/modules/模块名/classes/模块名_tag.class.php中
我们可根据项目需求,为pc标签增加额外的功能,以满足项目的需要
9、get万能标签:通过sql语句来获取数据
10.碎片标签:碎片功能允许我们将网页分为若干块儿,每一块儿都可以在后台像修改文章内容一样由
编辑人员来可视化的维护,并可实时替换每一块儿的内容 碎片:碎片其实就是一段HTML代码,只不过这段html代码如果作为碎片的话,就可以由编辑人员在后
台任意更改了
11、扩展函数库: 12、二次开发:
扩展控制器:MY_index.php
一、目前在企业中使用比较多的cms内容管理有如下几种:
1、dedecms
2、phpcms
二、我们选择学习v9版本的phpcms,主要有以下几点原因:
1、基于MVC模式的内容管理系统
2、碎片技术
三、下面,我们就来进行phpcms v9的安装:
ci框架的安装,我们只需要按照如下步骤进行操作就可以了
1、官网:http:// .phpcms.cn 去下载phpcms v9较新的版本
2、下载完毕后,解压,并将其复制粘贴到程序的主目录(d:/wamp/xmall/),然后再将其重命名为"mycms",那么"mycms" 就作为cms的项目名称存在了
3、为我们的cms项目搭建一个虚拟主机:
首先,找到httpd.conf配置文件,开启虚拟主机的配置
然后,找到httpd-vhosts.conf配置文件,进行虚拟主机的配置
之后,找到hosts配置文件,为我们的ci项目添加dns映射
4、在浏览器中输入 http:// .mycms.com/install/ 回车,就可进行phpcms v9内容管理系统的安装
四、phpcms v9框架的目录结构分析:
了解v9框架的目录结构,有助于帮助我们快速建立起对v9框架的一个整体认识
打开"mycms"项目,有如下文件和目录
使用协议说明文档、英文版的用户手册,这两项不是项目所必须的,可暂时将其删除
|-----api接口文件目录
|-----caches 缓存文件目录
|-----configs 系统配置文件目录
|-----database.php数据库配置文件
|-----route.php路由配置文件
|-----system.php系统配置文件
|-----cache.php缓存配置文件
|-----configs_*系统缓存文件目录
|-----configs_commons/caches_data主要用来存放后台设置的配置信息
|-----category_content.cache.php栏目与站点映射所对应的配置文件
|-----category_content_1.cache.php站点1下所有栏目的详细配置信息
|-----category_item_1.cache.php文章模型下各栏目所对应的数据量
|-----category_item_2.cache.php下载模型下各栏目所对应的数据量
|-----category_item_3.cache.php图片模型下各栏目所对应的数据量
|-----keylink.cache.php关联链接配置缓存文件
|-----model.cache.php三大模型配置缓存文件
|-----mood_program.cache.php表情配置缓存文件
|-----position.cache.php推荐位配置缓存文件
|-----poster_template_1.cache.php广告位模板配置缓存文件
|-----sitelist.cache.php站点列表配置文件,主要缓存所有站点的基本配置信息
|-----type_content.cache.php多个站点下的类别配置信息
|-----type_content_1.cache.php当前站点下类别配置信息缓存文件
|-----urlrules.cache.phpurl规则配置信息缓存文件
|-----urlrules_detail.cache.phpurl规则详细配置信息缓存文件
|-----special.cache.php专题配置信息缓存文件
|-----role.cache.php角色配置缓存文件
|-----link.cache.php友情链接缓存文件
|-----configs_model/caches_data
|-----content_form.class.php生成表单的类库缓存文件
|-----content_input.class.php入库时,对表单数据进行验证的类库缓存文件
|-----content_output.class.php对从数据表中查询出来的数据进行处理的函数
|-----content_update.class.php对要更新的数据进行有效性验证的函数
|-----model_field_1.cache.php文章模型所有模型字段的缓存信息
|-----model_field_2.cache.php下载模型所有模型字段的缓存信息
|-----model_field_3.cache.php图片模型所有模型字段的缓存信息
|-----phpcmsphpcms框架主目录
|-----languages框架语言包目录
|-----libs框架主类库、主函数库目录
|-----classes
|-----form.class.php表单生成类库文件
|-----application.class.php应用程序类库文件
|-----image.class.php图片处理类库文件
|-----attachment.class.php附件处理类库文件
|-----param.class.phpURL参数处理类库文件
|-----functions
|-----global.func.php公共函数库文件
|-----extension.class.php扩展函数库文件
|-----model框架数据库模型目录
|-----content_model.class.php内容模型文件
|-----admin_model.class.php管理员模型文件
|-----attachment_model.class.php附件模型文件
|-----modules框架模块目录
|-----adminadmin模块
|-----index.phpindex.php控制器文件
|-----contentcontent模块
|-----classescontent模块通用类库
|-----fieldscontent模块模型字段
|-----functionscontent模块通用函数库
|-----templatescontent模块后台模板文件
|-----index.phpindex.php控制器文件
|-----templates框架系统前台模板目录
|-----default默认的模板风格
|-----contentcontent模块模板目录
|-----category.html频道页模板文件
|-----list.html列表页模板文件
|-----show.html内容页模板文件
|-----config.php模板配置文件
|-----phpsso_serverphpsso主目录
|-----statics网站素材文件目录
|-----csscss文件
|-----imagesimages文件
|-----jsjs文件
|-----uploadfile上传附件
|-----admin.php后台入口文件
|-----index.php前台入口文件
五、phpcms v9中的url路由规则:
浏览器中输入 http:// .mycms.com/index.php?m=content&c=index&a=list&catid=1回车时,默认情况下会找到
phpcms框架主目录
|-----modules模块目录
|-----contentcontent模块
|-----index.phpindex.php控制器中list方法来显示列表页面
到底是不是呢?我们打开index.php控制器文件,并在index方法中添加一些代码,运行输出,证明确实如我们所料
我们可以将浏览器中的url归纳如下:
http://域名/入口文件?m=模块名&c=控制器&a=方法名&catid=参数值
当我们在浏览器中输入http:// .myshop.com/index.php 后面没有跟任何参数, 回车时,默认情下会将首页显示出来
这是因为phpcms v9为我们指定了一个默认执行的模块、控制器和方法
默认控制器的设置在 "caches/configs/routes.php" 配置文件中进行设置的,我们可以重新设置默认的控制器
六、栏目的添加
1、pc设计者认为,栏目详情页的数据都应该属于一个模型,所以在添加栏目时,必须给栏目指定一个模型,至于要选择什么模型,完全取决于栏目详情页要显示什么类型的内容
详情页:文章信息类的内容文章模型
详情页:图片类信息图片模型
详情页:下载东西下载模型
详情页:播放视频视频模型
2、如果以上模型还不能满足项目的需要,那么我们还可以自定义模型,通常情况下,一个网站是由多种模型的数据来组成的
3、栏目添加选项:
栏目名称:在网站静态化时,创建一个以此目录名命名的目录来存放当前栏目下相关的模板文件
4、pc的设计者认为,每个栏目会对应当前所选模型的三个模板文件:
频道页模板文件
列表页模板文件
内容页模板文件
这些模板文件所在位置:phpcms/templates/default/content/ 目录下,如果想修改模板文件,只需要到此目录下找到对应的模板文件进行修改就可以了
频道页:category_*.html
列表页:list_*.html
内容页:show_*.html
至此,栏目各页面与模型的三个模板文件对应起来了
注意:频道页面的显示是有条件的(当前栏目必须有子栏目才可以)
5、栏目添加成功后,栏目信息被存储到了v9_category数据表中,同时还被缓存到了phpcms/caches/caches_common/category_content.cache.php文件中,这个缓存文件非常重要,一定要引起足够的重视,前台的很多数据都是直接从此缓存文件中获取来的
七、项目的部署:
1、素材文件:
statics
|-----images
|-----cmsimages项目图片文件
|-----js
|-----cmsjs项目js文件
|-----css
|-----cmscss项目css文件
phpcms
|-----templates
|-----new新的模板风格
|-----content内容模块模板文件
|-----category.html频道页模板文件
|-----list.html列表页模板文件
|-----show.html内容页模板文件
|-----config.php添加模板文件的配置
或者
|-----default
|-----content内容模块模板文件
|-----category_shetu.html频道页模板文件
|-----list_shetu.html列表页模板文件
|-----show_shetu.html内容页模板文件
|-----config.php配置新添加的模板文件
注意:模板文件的命名规范
2、进入后台,将栏目与模板文件对应起来
3、常量的定义:phpcms/base.php文件
4、系统类库、函数库、模型文件及配置文件的加载 全局范围可用,也可以直接在模板文件中使用,在二次开发时,很有用
5、模板语法:
(1)常量表示: (2)变量语法: (3)单行php解析语法 (4)条件判断: 解析为: (5)循环: 解析为: (6)自增自减:通常跟循环一起使用 (7)包含模板文件: 6、内容详情页中的变量从何而来?
找到phpcms/modules/content/index.php控制器中的show()方法,在方法中随意定义一些变量,
然后,看一下是否能够从模板文件中获取到值,答案是肯定的
{title}、{$content}从哪里来?
技巧:如果在控制器方法中不能直接搜到模板文件中的变量,那么此变量必定在extract($data);中 总结:当模板文件中的变量不能在对应的方法中找到的话,那么此变量必定是从$data数组元素中转化而来的
内容页面的变量:
(1)包含模板文件 (2)生成站点首页url的函数
{siteurl($siteid)}
(3)面包屑导航
{catpos($catid)}
(4)来源
{$copyfrom}
(5)发布时间
{$inputtime}
(6)文章描述 (7)内容 (8)短标题: (9)分页代码:
{$pages}
(10)相关搜索词: (11)上一篇、下一篇 (12)统计点击量: (13)网页标题: (14)网页描述: (15)网页关键子: 7、pc标签的使用:在v9中,我们将使用pc标签作为获取数据的主要方式
pc标签分模块来使用,今天,主要来学习内容模块pc标签的使用
内容模块的pc标签可用来完成如下功能:
(1)获取内容列表:lists
(2)获取点击排行榜:hits
(3)获取相关文章:relation
(4)获取栏目列表:category
8、自定义pc标签:pc标签的源代码在 phpcms/modules/模块名/classes/模块名_tag.class.php中
我们可根据项目需求,为pc标签增加额外的功能,以满足项目的需要
9、get万能标签:通过sql语句来获取数据
10.碎片标签:碎片功能允许我们将网页分为若干块儿,每一块儿都可以在后台像修改文章内容一样由
编辑人员来可视化的维护,并可实时替换每一块儿的内容 碎片:碎片其实就是一段HTML代码,只不过这段html代码如果作为碎片的话,就可以由编辑人员在后
台任意更改了
11、扩展函数库: 12、二次开发:
扩展控制器:MY_index.php
本文标签:
很赞哦! (0)
暂无内容 |
暂无内容 |
暂无内容 |
暂无内容 |
随机图文
phpcms标签参数使用说明
内容模块:content可用操作:lists 内容数据列表relation 内容相关文章hits 内容数据点击排行榜category 内容栏目列表PHPCMS与MVC有什么区别
PHPCMS是一款网站管理软件,该软件采用模块化开发,支持多种分类方式,实现了个性化网站的设计、开发与维护;phpcms仿站常用标签合集
1、先更改 目录下的站点名称,再找到apache, 打开“Apache2\conf\extra”下的“httpd-vhosts.conf”文件,添加上自己需要添加的站点。phpcms出现内容编码错误的解决方法
phpcms出现内容编码错误怎么办?phpcmsv9提示“内容编码错误”的解决问题问题描述:搭建的网站更换域名后出现了下面图中的情况(若为其他操作导致,也可使用此方法尝试解决)
留言与评论 (共有 0 条评论) |