PHPCMS开发实例_PHPCMS二次开发_模板.ppt
- 格式:ppt
- 大小:1.36 MB
- 文档页数:29


下面我们将通讲解一个留言本实例,来帮助你更好的掌握PHPCMS V9的二次开发流程。
并在开发过程中体验PHPCMS V9。
在此我们只做基本功能的演示,更多的功能开发,期待你的继续挖掘。
4.1需求分析本实例用PHPCMS V9基础功能开发设计一个留言本管理系统,要求如下:后台:可管理、回复、删除留言信息可控制留言是否前台显示可对留言系统配置设置选项,例如是否起用验证码,默认是否显示、是否允许游客留言等配置。
模块配置信息可多站点存储。
可批量管理所有未回复留言后台管理演示效果如下图所示:前台:根据后台模块配置选项,控制是否显示在线留言填写表单。
在线提交留言,根据后台配置选项,是否显示验证码,是否需管理员审核显示。
留言列表页,需根据后台配置每页条数进行分页。
前台演示效果如下图所示:4.2数据库和数据表的设计这里使用Mysql数据库来存储信息。
首先构建一个留言信息表 guestbook ,它有12个字段,即消息编号(gid),站点ID(siteid),标题(title),内容(content),回复内容(reply),回复状态(reply_status),会员ID(uid),会员姓名(username),审核状态(passed) ,留言时间(inputtime),回复人(replyer),回复时间(replytime)。
下面是创建该表的SQL代码:CREATE TABLE `phpcms_guestbook` (`gid` smallint(5) NOT NULL auto_increment,`title` char(80) NOT NULL,`content` text NOT NULL,`reply` text NOT NULL,`userid` mediumint(8) unsigned NOT NULL default '0',`username` char(20) NOT NULL,`gender` tinyint(1) unsigned NOT NULL default '0',`head` tinyint(3) unsigned NOT NULL default '0',`email` char(40) NOT NULL,`qq` char(15) NOT NULL,`homepage` char(25) NOT NULL,`hidden` tinyint(1) unsigned NOT NULL default '0',`passed` tinyint(1) unsigned NOT NULL default '0',`ip` char(15) NOT NULL,`addtime` int(10) unsigned NOT NULL default '0',`replyer` char(20) NOT NULL,`replytime` int(10) unsigned NOT NULL default '0',PRIMARY KEY (`gid`),KEY `hidden` (`hidden`,`gid`));4.3创建模块目录PHPCMS v9框架中的模块,位于phpcms/modules目录中每一个目录称之为一个模块,如果要创建一个模块,只要在 phpcms/modules 目录下创建文件夹并放入你的控制器类就可以了。
二次开发技巧如果要对已存在的控制器进行二次开发,为了方便升级不建议直接对内核文件直接修改该,您可以通过“MY_*.php”的形式进行二次开发。
例如您要对改phpcms/mood/index.php进行二次开发。
您可以在与index.php同级的目录下建立”MY_index.php”<?phpclass MY_index extends index{function __construct() {parent::__construct();}……your code}这样当您通过url访问index控制器的时候,系统会默认指向MY_index.php 并且原文件的方法将被继承,可以直接使用。
系统配置文件文件路径:根目录/caches/configsdatabase.php 数据库配置文件system.php 系统配置文件route.php 路由配置文件调用方法如调用系统配置中的web_path:pc_base::load_config('system', web_path ');CMS入口文件:PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块或者功能,只有一个统一的入口。
入口程序是在前期处理用户请求的引导程序。
它是唯一一个可以被最终用户可以直接请求运行的。
文件路径:根目录/index.php<?phpdefine('PHPCMS_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR);include PHPCMS_PATH.'/phpcms/base.php';pc_base::creat_app();?>这段代码首先加载了 phpcms 框架的引导文件 base.php,然后它根据指定的配置文件建立了一个 Web 应用实例并运行。
PHPCMS2008二次开发文档PHPCMS2008二次开发文档分类: PHP技术应用工作记录 2013-03-21 09:39 468人阅读评论(0) 收藏举报本人做过多次PHPCMS二次开发,现在基本上开发起来感觉都比较灵活,所以做些笔记,不感说做的好,但也记录下一些解决办法,开发经验,希望能帮助到用的到的人。
各位有什么意见可以指点一二。
一、关于新闻型信息对新添加字段值的插入。
当你从后台模型中去添加新字段,而且用的也是系统提供的类型,这自然可以正常的插入值。
但当系统中的类型不能支持你的需求,需要自己定义显示方式输入值时,你不得不去添加一个并非你要显示出现的类型,所以你需要在页面中手工来写输入方式,或者说字段是直接通过数据库添加的,(当然如果完全按照PHPCMS系统来再做新字段类型的输入也可以,但这样太麻烦了,对于开发的工期来讲,我们往往没有那么多的时间),那这样这里的字段的值就无法插入到数据表中,因为系统中用了模型来做插入,我们的字段是非正常添加的,所以模型关联的字段中不包括我们新添加的字段,所以不能插入。
解决办法是:在插入的程序之前我们把新加的字段值加到要插入的数组中。
///插入模型表文件:admin/content.class.php 中的add方法中。
$modelinfo['infokind']=$data['infokind'];$modelinfo['infokindother']=$data['infokindother'];//以上是新添加的两个字段。
$this->db->insert($this->model_table, $modelinfo);二、开发中常用代码开发说明:system_info.php导入SYSTEM_INFO.PHP:require_once PHPCMS_ROOT.'include/system_info.php';global.func.php导入GLOBAL:require_once MOD_ROOT.'include/global.func.php';分页:$page = max(intval($page), 1);$pagesize = 10;$offset = $pagesize*($page-1);$limit = "LIMIT $offset, $pagesize";$data=$db->select("select * from cms_yp_category where kind=$kind order by orderid $limit");$datas=$db->get_one("select count(*) as num from cms_yp_category where kind=$kind");$pages = pages(datas['num'], $page, $pagesize);栏目名称:=$CATEGORY[$catid]['catname'];新闻推荐调用:{get sql="select * from hr_content where catid=34 and status=99 and contentid in(select contentid from hr_content_position where posid=1) order by listorder,inputtime desc limit 0,9"}<li><span><ahref="{$r[url]}">{str_cut($r[title],64)}</a></span><font>{date('Y-m-d',$r[inputtime])}</font></li>{/get}内部模块图片:{get sql="select * from hr_c_picads p,hr_content c where p.contentid=c.contentid and contentid=118"}<a href="{$r[linkurl]}"><img src="{$r[thumb]}" width="241" height="141" /></a>{/get}•上一篇ECSHOP-BUG问题•下一篇JS中字符串与数组的转换,类似PHP的explode顶踩主题推荐开发经验数据库新闻数据分页猜你在找phpcms 二次开发笔记PHPCMS V9 css js版本控制的二次开发PHPCMS V9模板设计程序二级开发中常用的一些网站相关信息变量列表PHPCMS V9二次开发便捷自定义后台入口文件夹phpcms v9 二次开发之URL路由配置教程phpcms 模块开发二phpcms-v9对pc标签进行二次开发让其可以获取limit指定的文章条数phpcms_v9二次开发后台弹窗口效果phpcms v9二次开发及使用中各种问题解决方案二自己积累phpCMS 二次开发二。