下面我们将通讲解一个留言本实例,来帮助你更好的掌握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二次开发教程 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二次开发教程文件目录结构 根目录 | – 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二次开发教程 文件目录结构 根目录 | – 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"
标题限制:{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"}
phpcms v9问题 博客分类: php内容管理系统 phpcms 登录总是提示“验证码输入错误”,分明没有输错的解决 修改"/caches/configs/system.php"当中 session_storage => 'mysql' 为 session_storage => 'files' 并且流量器中的域名要和system.php中的一致
此模块未安装或者已被禁用 原因模块 > 模块管理 > 模块管理 >中对应的模块没有安装 解决 在module表中添加相关记录 前台页面报:栏目不存在 解决 扩展 > 扩展 > 更新全站缓存 > 添加module在module,menu表中也要添加 修改后台左侧导航phpcms\modules\admin\templates\left.tpl.php phpcms\modules\admin\class\admin.class.php admin_menu phpcms\modules\admin\templates\index.tpl.php 位置:扩展 > 扩展 > 菜单管理 > 说明: 一、本功能用于后台各功能菜单的设置操作。 二、为系统分配权限调用,所有系统用到的功能方法,都需要添加到菜单管理里。 一、添加菜单 添加菜单分为全新添加和在已有菜单处添加子菜单。二种方法仅在上级菜单默认值处有异,其它相同。
全新添加: 添加功能菜单时,首先选择上级菜单目录。填写中英文对应菜单名称,所在模块名,及对应文件和处理方法名。如有参数,请于下填写参数信息。如下图所示 如选择显示菜单,则在导航处显示,反之不显。以上图为例,选择不显示,图示如下 二、菜单管理 菜单管理仅涉及编辑,修改、排序等操作在此不再详述。 ? ?大小: 10.1 KB
phpcmsv9_首页调用标签_最新文章调用_首页栏目列表调用 phpcmsv9同时调用多个栏目最新文章标签,其中有_时间标签_栏目标题_文章标题 {pc:get sql="Select `n`.`inputtime`,`n`.`url`,`n`.`title`,`c`.`catname`,`c`.`url` as `c_url` FROM `v9_news` as `n` left join `v9_category` as `c` on `n`.`catid` = `c`.`catid` where `c`.`catid` in (6,7,8,9,10) order by `n`.`id` desc" num="10" cache="3600" page="" dbsource="" return="data"} {loop $data $key $val}
phpcms v9 数据库操作函数 phpcms v9 数据库操作函数1、查询 $this->select($where = '', $data = '*', $limit = '', $order = '', $group = '', $key='') 返回结果集数组条件,字段(id,name,email....),范围排序方式,分组方式,按建名排序2、查询多条数据并分页listinfo($where = '', $order = '', $page = 1, $pagesize = 20, $key='', $setpages = 10,$urlrule = '',$array = array())3、获取单条记录查询 get_one($where = '', $data = '*', $order = '', $group = '')4、直接执行sql查询query($sql);5、获取最后一次添加记录的主键号insert_id()6、执行更新记录操作update($data, $where = '') $data 建议为数组,$where 可为数组可为字符串7、执行删除记录操作delete($where) 8、计算记录数count($where = '')9、获取最后数据库操作影响到的条数affected_rows()10、获取数据表主键get_primary()11、获取表字段 get_fields($table_name = '')12、检查表是否存在 table_exists($table)13、检查字段是否存在 field_exists($field)
{template "content","header"} ---------- 调用根目录下phpcms\template\content\header文件 {CHARSET} -------------------------------------字符集(gbk或者utf-8) {if isset($SEO['title']) && !empty($SEO['title'])} {$SEO['title']}{/if} {$SEO['site_title']} {$SEO['keyword']} {$SEO['description']}上面4条不用我解释了吧,都是标题和标题seo优化 {CSS_PATH} -----------------------------------地址替换为根目录下\statics\css {JS_PATH}--------------------------------------地址替换为根目录下\statics\js {pc:content action="position" pos order="id" num="10" cache="3600"} pc标签{pc:content 参数名="参数值" 参数名="参数值" 参数名="参数值"}
{loop $data $k $v} {$v[title]} {/loop} 显示pc标签值 action="position"-------------对话框的类型=“内容推荐位列表” pos--------------------推荐位ID=“9” order="id"--------------------排序类型=“id” num="10" -------------------数据调用数量=“10” cache="3600"----------------缓存="3600"毫秒 {APP_PATH}-----------------项目地址 {get_siteid()}---------------- {IMG_PATH}----------------- action="hits" 排行,热点等 action="lists" 主要用于列表等。
PHPCMS二次开发教程https://www.doczj.com/doc/4517805415.html,/try/201109/1187_1.htm 文件目录结构 根目录 | – api 接口文件目录 | – phpcms phpcms框架主目录 | – languages 框架语言包目录 | – libs 框架主类库、主函数库目录 | – model 框架数据库模型目录 | – modules 框架模块目录 | – templates 框架系统模板目录 | – caches 缓存文件目录 | – configs 系统配置文件目录 | – caches_* 系统缓存目录 | – 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”的形式进行二次开发。
不用插件打造意见反馈(留言板),先给个图: 表单向导+dialog 一、表单向导 1.登陆Phpcmsv9后台https://www.doczj.com/doc/4517805415.html,/index.php?m=admin 2.模块》模块管理》表单向导》添加表单向导
1)名称::意见反馈(请输入表单向导名称) 2)表名:message(请填写表名) 3)简介:(这个可以不填) 4)下三个可以不用改 5)允许游客提交表单:要选是 7)模板选择:
这个你一定要提前做好模板, 比如我的是show_box.html, 这里要注意模板命名要以show_开头 8)js调用使用的模板:这里不做介绍,可以不理它了。 3,下面,确定。如果图 功能如下: 1)信息列表:用来查看留言信息,现在不用 2)添加字段:主要用这个,我们要添加三个字段 分别是留言标题(title),联系邮箱(email),留言内容(content) 添加:字段 ---字段类型: ----字段类型 ----字段别名 ----数据校验正则(这个的话看你自己的需求来用) 其他的可以不写 最后》提交
三、模板 找到phpcms\templates\default\formguide 新建模板show_box.html