demo.php
engine文件是在设计专题时控制添加、修改专题, 相当于编写控制器的代理,不同的模块用不同的代理来控制,widgetEngine几乎可以用controller所有属性,如$this->view、$this->template、$this->json等
class widgetEngine_demo extends widgetEngine
{
/**
* @param $widget array
* @return string
*/
public function _render($widget)
{
....
}
/**
* 添加模块的 form 表单
*/
public function _addView()
{
$this->view->display('path/to/view.php');
}
/**
* 添加一个widget到数据库
*
* @param $data array
* @return int widgetid
*/
public function _addPost($data)
{
return $this->widget->insert($data);
}
/**
* 编辑一个widget的 form 表单
*
* @param $widget array
*/
public function _editView($widget)
{
.....
$this->view->display('path/to/view.php');
}
/**
* 编辑一个widget的 form 表单
*
* @param $widget array
* @param $data array
* @return bool
*/
public function _editPost($widget, $data)
{
return $this->widget->update($data, $widgetid);
}
}
每个模块引擎必须实现以上接口