当前位置:文档之家› phpcms v9二次开发手册

phpcms v9二次开发手册

phpcms v9二次开发手册
phpcms v9二次开发手册

PHPCMS V9 二次开发实例–留言本

下面我们将通讲解一个留言本实例,来帮助你更好的掌握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 目录下创建文件夹并放入你的控制器类就可以了。 当前我们要开发一个叫做guestbook的留言本模块,那么首先 在 phpcms/modules 目录下创建文件夹,并将其命名为guestbook。如下图所示:

phpcms_v9二次开发手册

PHPCMS二次开发教程 PHPCMS二次开发教程 (1) 文件目录结构 (2) PHPCMS V9 核心文件说明 (3) PHPCMS框架入口文件: (4) PHPCMS V9 二次开发 (7) 创建模块控制器类 (9) v9 二次开发之构建模块全过程 (11) PC标签使用说明 (18) PC标签保留参数 (20) get标签 (21) 内容模块 (22) PHPCMS v9.1.7整合discuz X2 的解决办法 (28)

文件目录结构 根目录 | – api 接口文件目录 | – caches 缓存文件目录 | – configs 系统配置文件目录 | – caches_* 系统缓存目录 | – phpcms phpcms框架主目录 | – languages 框架语言包目录 | – libs 框架主类库、主函数库目录 | – model 框架数据库模型目录 | – modules 框架模块目录 | – templates 框架系统模板目录 | – phpsso_server phpsso主目录 | – statics 系统附件包 | – css 系统css包 | – images 系统图片包 | – js 系统js包 | – uploadfile 网站附件目录 | – admin.php 后台管理入口 | – index.php 程序主入口 | – crossdomain.xml FLASH跨域传输文件| – robots.txt 搜索引擎蜘蛛限制配置文件| – favicon.ico 系统icon图标

PHPCMS V9 核心文件说明 模块与控制器 模块: phpcms v9框架中的模块,位于phpcms/modules目录中每一个目录称之为一个模块。即url访问中的m。 访问content模块示例:https://www.doczj.com/doc/4517805415.html,/index.php?m=content 控制器: phpcms v9的控制器就是模块的类文件,位于phpcms/modules/模块/目录下面。类名成就是文件名+.php,例如一个名为abc的控制器,那么他的命名为abc.php即可。控制器类默认继承系统的函数库,可以直接使用。控制器类的类名称与控制器文件名必须相同。如果您创建了一个abc.php在 test模块下,那么我们在浏览器里面输入URL:https://www.doczj.com/doc/4517805415.html,/index.php?m=test& c=abc 二次开发技巧 如果要对已存在的控制器进行二次开发,为了方便升级不建议直接对内核文件直接修改该,您可以通过“MY_*.php”的形式进行二次开发。 例如您要对改phpcms/mood/index.php进行二次开发。您可以在与index.php同级的目录下建立"MY_index.php"

PHPCMS二次开发教程

PHPCMS二次开发教程文件目录结构 根目录 | – api 接口文件目录 | – caches 缓存文件目录 | – configs 系统配置文件目录 | – caches_* 系统缓存目录 | – phpcms phpcms框架主目录 | – languages 框架语言包目录 | – libs 框架主类库、主函数库目录 | – model 框架数据库模型目录 | – modules 框架模块目录 | – templates 框架系统模板目录 | – phpsso_server phpsso主目录 | – statics 系统附件包 | – css 系统css包 | – images 系统图片包 | – js 系统js包 | – uploadfile 网站附件目录 | – admin.php 后台管理入口 | – index.php 程序主入口 | – crossdomain.xml FLASH跨域传输文件 | – robots.txt 搜索引擎蜘蛛限制配置文件 | – favicon.ico 系统icon图标

PHPCMS V9 核心文件说明 模块与控制器 模块: phpcms v9框架中的模块,位于phpcms/modules目录中每一个目录称之为一个模块。即url访问中的m。 访问content模块示例:https://www.doczj.com/doc/4517805415.html,/index.php?m=content 控制器: phpcms v9的控制器就是模块的类文件,位于phpcms/modules/模块/目录下面。类名成就是文件名+.php,例如一个名为abc的控制器,那么他的命名为abc.php即可。控制器类默认继承系统的函数库,可以直接使用。控制器类的类名称与控制器文件名必须相同。如果您创建了一个abc.php在 test模块下,那么我们在浏览器里面输入URL:https://www.doczj.com/doc/4517805415.html,/index.php?m=test& c=abc 二次开发技巧 如果要对已存在的控制器进行二次开发,为了方便升级不建议直接对内核文件直接修改该,您可以通过“MY_*.php”的形式进行二次开发。 例如您要对改phpcms/mood/index.php进行二次开发。您可以在与index.php同级的目录下建立"MY_index.php"

phpcms_v9二次开发手册

PHPCMS二次开发教程 文件目录结构 根目录 | – api 接口文件目录 | – caches 缓存文件目录 | – configs 系统配置文件目录 | – caches_* 系统缓存目录 | – phpcms phpcms框架主目录 | – languages 框架语言包目录 | – libs 框架主类库、主函数库目录 | – model 框架数据库模型目录 | – modules 框架模块目录 | – templates 框架系统模板目录 | – phpsso_server phpsso主目录 | – statics 系统附件包 | – css 系统css包 | – images 系统图片包 | – js 系统js包 | – uploadfile 网站附件目录 | – admin.php 后台管理入口 | – index.php 程序主入口 | – crossdomain.xml FLASH跨域传输文件 | – robots.txt 搜索引擎蜘蛛限制配置文件 | – favicon.ico 系统icon图标

PHPCMS V9 核心文件说明 模块与控制器 模块: phpcms v9框架中的模块,位于phpcms/modules目录中每一个目录称之为一个模块。即url访问中的m。 访问content模块示例:https://www.doczj.com/doc/4517805415.html,/index.php?m=content 控制器: phpcms v9的控制器就是模块的类文件,位于phpcms/modules/模块/目录下面。类名成就是文件名+.php,例如一个名为abc的控制器,那么他的命名为abc.php即可。控制器类默认继承系统的函数库,可以直接使用。控制器类的类名称与控制器文件名必须相同。如果您创建了一个abc.php在 test模块下,那么我们在浏览器里面输入URL:https://www.doczj.com/doc/4517805415.html,/index.php?m=test& c=abc 二次开发技巧 如果要对已存在的控制器进行二次开发,为了方便升级不建议直接对内核文件直接修改该,您可以通过“MY_*.php”的形式进行二次开发。 例如您要对改phpcms/mood/index.php进行二次开发。您可以在与index.php同级的目录下建立"MY_index.php"

PHPCMS_V9调用方法

标题限制:{str_cut($r[title],36)} {$r[title]} 简介限制:{str_cut($r[description],112)} 链接:{$r[url]} OR {$r[url]} 缩略图片:{thumb($r[thumb],90,60)} 日期:{date('Y-m-d',$r[inputtime])} 标题{$title} 内容{$content} 日期{$inputtime} 来源{$copyfrom} {IMG_PA TH}图片路径 {JS_PA TH}JS路径 {CSS_PATH}CSS路径 {siteurl($siteid)}网站域名 一级栏目 {pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC"}

  • 首页
  • {loop $data $r}
  • {$r[catname]}
  • {/loop} {/pc} {推荐位调用方法} {pc:content action="position" posid="2" order="listorder DESC" num="4"} {loop $data $r}

    {str_cut($r[title],36)}

    {if $n==1}{/if}{str_cut($r [description],112)}

    {/loop} {/pc} 去掉程序里的省略号 phpcms\libs\functions\global.func.php文件里 某栏目最新文章: {pc:content action="lists" catid="6,14,15,16" num="10" order="id DESC" return="info"}