添加简单表单的方法:
1.添加数据库处理类: libraries\joomla\database\table\xxx.php 注:需要修改#__apply' 为你要的表单
public function __construct(&$db)
{
parent::__construct('#__apply', 'id', $db);
}
并在save中指定的字段:
public function save($data)
{
$obj=new stdClass;
if(isset($data['companyname'])) $obj->companyname=$data['companyname'];
if(isset($data['contact'])) $obj->contact=$data['contact'];
if(isset($data['email'])) $obj->email=$data['email'];
if(isset($data['department'])) $obj->department=$data['department'];
if(isset($data['position'])) $obj->position=$data['position'];
if(isset($data['telephone'])) $obj->telephone=$data['telephone'];
if(isset($data['need'])) $obj->need=$data['need'];
if(isset($data['goal'])) $obj->goal=$data['goal'];
if(isset($data['emphasis'])) $obj->emphasis=$data['emphasis'];
if(isset($data['team'])) $obj->team=$data['team'];
if(isset($data['period'])) $obj->period=$data['period'];
if(isset($data['question'])) $obj->question=$data['question'];
if(isset($data['other'])) $obj->other=$data['other'];
if(isset($data['type'])) $obj->type=$data['type'];
$obj->dateline=time();
$ret = $this->_db->insertObject($this->_tbl, $obj, 'id');
if (!$ret)
{
$this->setError(JText::sprintf('JLIB_DATABASE_ERROR_STORE_FAILED', strtolower(get_class($this)), $this->_db->stderr()));
return false;
}
else
{
return true;
}
}
}
2.在components\com_users\models 里面添加models类 apply.php ,在forms里面添加表单配置信息 apply.xml
3.在components\com_users\views 里面添加页面处理类:主要是把参数进行处理传递到模板
components\com_users\views\apply view.html.php 及tmpl\default.php
4.在对应模板里面添加模板页面,如
templates\yoo_balance\html\com_users\apply\default.php
templates\yoo_balance\warp\systems\joomla\layouts\com_users\apply\default.php
5.添加控制器类进行数据保存:components\com_users\controllers\apply.php
添加Controller 类 处理表单保存的方法:UsersControllerApply.save ;他对应到表单的Action=index.php?option=com_users&task=apply.save
6.添加页面入口:components\com_users\controller.php
case 'apply':
$model = $this->getModel($vName);
break;
详细可以参考 User/apply
1.添加数据库处理类: libraries\joomla\database\table\xxx.php 注:需要修改#__apply' 为你要的表单
public function __construct(&$db)
{
parent::__construct('#__apply', 'id', $db);
}
并在save中指定的字段:
public function save($data)
{
$obj=new stdClass;
if(isset($data['companyname'])) $obj->companyname=$data['companyname'];
if(isset($data['contact'])) $obj->contact=$data['contact'];
if(isset($data['email'])) $obj->email=$data['email'];
if(isset($data['department'])) $obj->department=$data['department'];
if(isset($data['position'])) $obj->position=$data['position'];
if(isset($data['telephone'])) $obj->telephone=$data['telephone'];
if(isset($data['need'])) $obj->need=$data['need'];
if(isset($data['goal'])) $obj->goal=$data['goal'];
if(isset($data['emphasis'])) $obj->emphasis=$data['emphasis'];
if(isset($data['team'])) $obj->team=$data['team'];
if(isset($data['period'])) $obj->period=$data['period'];
if(isset($data['question'])) $obj->question=$data['question'];
if(isset($data['other'])) $obj->other=$data['other'];
if(isset($data['type'])) $obj->type=$data['type'];
$obj->dateline=time();
$ret = $this->_db->insertObject($this->_tbl, $obj, 'id');
if (!$ret)
{
$this->setError(JText::sprintf('JLIB_DATABASE_ERROR_STORE_FAILED', strtolower(get_class($this)), $this->_db->stderr()));
return false;
}
else
{
return true;
}
}
}
2.在components\com_users\models 里面添加models类 apply.php ,在forms里面添加表单配置信息 apply.xml
3.在components\com_users\views 里面添加页面处理类:主要是把参数进行处理传递到模板
components\com_users\views\apply view.html.php 及tmpl\default.php
4.在对应模板里面添加模板页面,如
templates\yoo_balance\html\com_users\apply\default.php
templates\yoo_balance\warp\systems\joomla\layouts\com_users\apply\default.php
5.添加控制器类进行数据保存:components\com_users\controllers\apply.php
添加Controller 类 处理表单保存的方法:UsersControllerApply.save ;他对应到表单的Action=index.php?option=com_users&task=apply.save
6.添加页面入口:components\com_users\controller.php
case 'apply':
$model = $this->getModel($vName);
break;
详细可以参考 User/apply