elgg 插件中自定义创建表单

elgg  本身提供一套完善的系统 来创建表单 但是 有时自定义随心所欲的创建自己的表单更方便

 

插件目录如图所示

actions 放置 表单处理方法  page 为控制器 views 为视图


1、在插件的根目录下start.php 中 注册处理表单的方法

 

	elgg_register_action("file/edit", "$action_path/edit.php");
	elgg_register_action("file/mkdir", "$action_path/mkdir.php");

 

 

2、在视图里面创建相关页面 比如add.php

 

 

 

<?php
/**
 * Profile info box
 */
$owner = elgg_get_page_owner_entity();

........
.........
//guestbook表单__elgg_ts __elgg_token
$ts = time();
$token = generate_action_token($ts);

?>

 <form id="commentPostForm" action="<?php echo elgg_get_site_url()?>action/guestbook/add" method="post">
                   。。。。。。
       <input type="hidden" name="__elgg_ts" value="<?php echo $ts?>">
         <input type="hidden" name="__elgg_token" value="<?php echo $token?>">
          <input type="hidden" name="owner_guid" value="<?php echo $owner->guid?>">
 </form>

 

  elgg  本身自带一套严格的表单验证方法 表单中比如加入 __elgg_ts  __elgg_token 否则elgg识别表单为非法

 

 

4、在actions目录中创建处理方法 add.php 进行相关表单处理

 

你可能感兴趣的:(表单,elgg)