使用指南:PHPCMS二次开发中的表单类应用
PHPCMS二次开发中,表单类是用于处理用户提交的数据的重要工具。首先,需要创建一个表单类,继承自系统内置的表单类。然后,可以在表单类中定义各种表单元素,如文本框、单选按钮等。接下来,需要实现表单类的构造函数和处理表单数据的方法。在构造函数中,可以设置表单元素的属性,如标签、验证规则等。在处理表单数据的方法中,可以使用系统提供的验证方法对用户提交的数据进行验证,并根据验证结果执行相应的操作。最后,需要在模板中使用表单类生成表单页面,并在控制器中调用表单类的方法处理用户提交的数据。
我们要做的就是如何把这些工具调出来使用。调用方法总共有两种。
一、视图调用法
这种方法最简单,但有局限性。在后台的模型定义字段时,选择表单的类型就会生成相应的表单类型。
二、代码调用法
这种方法比较灵活,走出了内容模块的限制,不再拘泥于内容模型的框架。下面是一个足球模块控制器添加信息的方法,看代码:
表单类的位置:libsclasses--form.class.php
代码如下:
publicfunctionaddfbteam(){$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><thwidth="80"><strong><?phpechoL('football_profile')?>:</strong></th><td><textareaname="football[profile]"id="profile"></textarea><?phpechoform::editor('profile');?></td></tr>
说明:“form::editor('profile')”,上面加载表单类且不实例化的目的就是使用静态方法调用编辑器editor,里面的参数“profile”表示表单的ID。
这 里只说表单类编辑器的调用,其它的表单调用方法类似,不管调用什么表单,首先都要加载系统类库里的表单类,然后在模板调用表单类的表单方法,如时间表 单,form::date('football[formed]', date('Y-m-d'), 0),图片上传form::images('football[badge]', 'badge', ' ', 'football')。