最近几天我一直在开发工具中添加表格功能。这打开了很多可能性,因为一旦你知道组件正在处理的数据,你就可以自动为该数据生成大量代码。
我编写了一个测试脚本来测试这个功能,展示了添加的功能
// 获取基本脚本
$script = DevTools::script();
// 定义我们正在处理的组件
$component = $script->component("Biographies","Samuel Jackson");
// 设置表格
$table = $component->table("Bio")
->varchar("name",120) // 添加一个名字字段
->text("story") // 添加一个文本字段
->published() // 添加一个发布字段
->order() // 添加一个排序字段
->checked() // 添加一个勾选字段
->modified(); // 添加一个修改字段
// 设置列表模型与表格
$list = $component->model("list",$table)
->getList() // 添加一个获取项目列表的函数
->publish() // 添加一个发布项目的函数
->delete() // 添加一个删除项目的函数
->order(); // 添加一个排序项目的函数
// 设置列表模型
$item = $component->model("item",$table)
->getItem() // 添加一个获取项目的函数
->store() // 添加一个存储项目的函数
->checked() // 添加一个用于检查进出项目的函数
->move(); // 添加一个用于移动项目的函数
// 设置控制器(方法的参数是模型)
$contr = $component->controller()
->cancel('list') // 添加取消功能
->move('item') // 添加移动项目功能
->order('list') // 添加移动一组项目的功能
->publish('list') // 添加发布一组项目的功能
->remove('list') // 添加删除一组项目的功能
->save('item'); // 添加保存项目的功能
// 设置视图
$component->view("item")->tmpl();
出于测试目的,这非常详细,但从这里开始,当添加一个表时,生成这段代码很简单。
脚本所做的就是在数据库中添加一个带有几个字段的表。我已经添加了一组最常用的数据库字段作为方法(如varchar,text,int等),以及一组经常与Joomla一起使用的字段。例如,Order会将字段'ordering'添加到数据库中,同时指示创建的组件包含可以排序的字段,这意味着我通过查看表可以自动向模型和控制器添加排序功能。'published','checked'和'modified'也是如此。
所以总结一下,devtools将会非常强大 :)