phpcmsV9在线表单想要调用怎么二次开发

92建站   2021-06-26   收藏本文

本文介绍了phpcmsV9在线表单想要调用怎么二次开发,解决思路:教程给出了两种方法,一是视图调用法,一是代码调用法,打开这个文件form.class.php,在里面找到教程给出的代码,改为新的代码就可以了。

phpcms调用表单功能的二次开发实现方案:

一、视图调用法

这种方法最简单,但有局限性。在后台的模型定义字段时,选择表单的类型就会生成相应的表单类型。

二、代码调用法

这种方法比较灵活,走出了内容模块的限制,不再拘泥于内容模型的框架。下面是一个足球模块控制器添加信息的方法,看代码:

表单类的位置:libsclasses--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')。

展开