phpcms v9的系統類庫有一個表單類,它封裝了表單的一些組件,如編輯器、圖片上傳、時間選擇器、模板選擇器等,更詳細請參考form.class.php。有了這些組件,在對phpcms v9進行二次開發時,更加省時省心。我們要做的就是如何把這些工具調出來使用。調用方法總共有兩種。
一、視圖調用法 這種方法最簡單,但有局限性。在后台的模型定義字段時,選擇表單的類型就會生成相應的表單類型。
二、代碼調用法 這種方法比較靈活,走出了內容模塊的限制,不再拘泥於內容模型的框架。下面是一個足球模塊控制器添加信息的方法,看代碼: 表單類的位置:libs\classes--form.class.php
01 |
public function addfbteam(){ |
02 |
$levels = $this ->level->select( '' , '`id`,`level`' , '' , 'id' ); |
03 |
if (isset( $_POST [ 'dosubmit' ])){ |
04 |
$_POST [ 'football' ] = $this ->check( $_POST [ 'football' ]); |
05 |
if ( $this ->db->insert( $_POST [ 'football' ])) showmessage(L( 'operation_success' ), '?m=football&c=admin_fbteam&a=fblists' ); |
07 |
pc_base::load_sys_class( 'form' , '' , 0); |
08 |
include $this ->admin_tpl( 'fbteam_add' ); |
說明: pc_base::load_sys_class('form', '', 0);加載表單類form.class.php,‘’空參數表示類文件的路徑,加載的系統類庫里面的類,參數“0”表示不實例化類。
上面方法對應的模板視圖
2 |
< th width = "80" >< strong ><? php echo L('football_profile')?>:</ strong ></ th > |
3 |
< td >< textarea name = "football[profile]" id = "profile" ></ textarea ><? php echo form::editor('profile');?></ td > |
說明:“form::editor('profile')”,上面加載表單類且不實例化的目的就是使用靜態方法調用編輯器editor,里面的參數“profile”表示表單的ID。
這里只說表單類編輯器的調用,其它的表單調用方法類似,不管調用什么表單,首先都要加載系統類庫里的表單類,然后在模板調用表單類的表單方法,如時間表單,form::date('football[formed]', date('Y-m-d'), 0),圖片上傳form::images('football[badge]', 'badge', ' ', 'football')。