• 专注于网站建设,网络推广,关键词优化,SEO优化,专业的网站建设开发团队!

phpcms v9二次开发之表单类form.class.php的应用

2015-06-13 15:41:20   来源:叶景网络

phpcms v9的系统类库有一个表单类,它封装了表单的一些组件,如编辑器、图片上传、时间选择器、模板选择器等,更详细请参考form.class.php。有了这些组件,在对phpcms v9进行二次开发时,更加省时省心。我们要做的就是如何把这些工具调出来使用。调用方法总共有两种。
一、视图调用法
这种方法最简单,但有局限性。在后台的模型定义字段时,选择表单的类型就会生成相应的表单类型。

二、代码调用法
这种方法比较灵活,走出了内容模块的限制,不再拘泥于内容模型的框架。下面是一个足球模块控制器添加信息的方法,看代码:
表单类的位置:libs\classes--form.class.php
public function addfbteam(){
           $levels = $this->level->select('','`id`,`level`','','id');
          if(isset($_POST['dosubmit'])){
               $_POST['football'] = $this->check($_POST['football']);
               if($this->db->insert($_POST['football'])) showmessage(L('operation_success'),'?m=football&c=admin_fbteam&a=fblists');
              }else{
                pc_base::load_sys_class('form', '', 0);
                include $this->admin_tpl('fbteam_add');
              }
       }
说明: pc_base::load_sys_class('form', '', 0);加载表单类form.class.php,‘’空参数表示类文件的路径,加载的系统类库里面的类,参数“0”表示不实例化类。
上面方法对应的模板视图
<tr>
    <th width="80"><strong><?php echo L('football_profile')?>:</strong></th>
    <td><textarea name="football[profile]" id="profile"></textarea><?php echo form::editor('profile');?></td>
</tr>
说明:“form::editor('profile')”,上面加载表单类且不实例化的目的就是使用静态方法调用编辑器editor,里面的参数“profile”表示表单的ID。
这里只说表单类编辑器的调用,其它的表单调用方法类似,不管调用什么表单,首先都要加载系统类库里的表单类,然后在模板调用表单类的表单方法,如时间表单,form::date('football[formed]', date('Y-m-d'), 0),图片上传form::images('football[badge]', 'badge', '&nbsp;', 'football')。

叶景网络,网络推广,网站建设
特别推荐RECOMMEND
搜索引擎网站关键词seo优化的意义
视频推广怎么做
网站seo优化怎么做关键词排上首页?
SEO介绍什么叫搜索引擎网站关键词优化
seo优化怎样做提升关键词排名
热点图文Hot
discuz插件开发的入门篇 discuz插件开发的入
彻底解决关于dedecms留言板的安装问题 彻底解决关于dedecm
DiscuzX2.5登录无法同步登录到PHPCMS v9解决办法 DiscuzX2.5登录无法
discuz X2.5安装手动选择ucenter时出错问题解决 discuz X2.5安装手
关注排行RANKING
1

discuz插件开发的入门篇

discuz插件开发的入门篇 在config config_global php 文件里设置$_config[ plugindeveloper ] = ...

2

彻底解决关于dedecms留言板的安装问题

彻底解决关于dedecms留言板的安装问题 先前使用dedecms5 5做的网站在服务器上运行两年了,某天突然想给网站加上个留言板模块...

3

DiscuzX2.5登录无法同步登录到PHPCM...

DiscuzX2.5登录无法同步登录到PHPCMS v9解决办法 叶景网络(www cngxit com),致力于互联网品牌建设与网络营销,专业领...

4

discuz X2.5安装手动选择ucenter时...

discuz X2.5安装手动选择ucenter时出错问题解决 discuz X2 5安装时想自定义选择ucenter时出错,因为discuz X2 5中也有一个uc_server...

5

Discuz百万级数据的压力测试实现(...

Discuz百万级数据的压力测试实现(创建海量数据库) 由于开发的需求,对discuz创建海量数据库来进行压力测试,以下是对discuz百万级数据的压...

6

discuzX2.5安装不成功,到了正在安装...

discuzX2.5安装不成功,到了正在安装附加数据就不动了 叶景网络(www cngxit com),致力于互联网品牌建设与网络营销,专业领域包括网...

7

Discuz!中分表的实现方法

Discuz!中分表的实现方法 论坛系统中的帖子表,是访问量大很大的表,为了保证数据的快速提取返回给用户,...

8

什么情况下选用hdwiki(for discuz)?

什么情况下选用hdwiki(for discuz)? 如果您已经有了一个dz论坛,并且还想要一个自己专业的知识库,建个百科频道。建...

9

让hdwiki使用discuz的登录和注册

让hdwiki使用discuz的登录和注册 hdwiki是国内开源wki结构简单,安装使用还是很方便的。discuz是使用最多的开源BBS。