我想用extjs 3.2通过可编辑网格来开发蛋糕php。Extjs蛋糕php通过可编辑网格更新,插入和删除
在网格中我们可以插入并更新和删除操作。
当我们从“电影”模型文件中获取数据,并创建视图/电影/ JSON一个JSON文件
在JSON文件中我得到的数据,但
如果我要显示网格数据,则此json文件数据我如何在网格商店购买。
谢谢。
我想用extjs 3.2通过可编辑网格来开发蛋糕php。Extjs蛋糕php通过可编辑网格更新,插入和删除
在网格中我们可以插入并更新和删除操作。
当我们从“电影”模型文件中获取数据,并创建视图/电影/ JSON一个JSON文件
在JSON文件中我得到的数据,但
如果我要显示网格数据,则此json文件数据我如何在网格商店购买。
谢谢。
在工作中,我们使用CakePHP和ExtJS进行了广泛的工作。
我们单独使用ExtJS的视图只有调用才能包含该视图的特定JavaScript文件,以及一个用于渲染ExtJS模块的div。
如果你在你的布局的头部使用<?php echo $scripts_for_layout ?>
你可以从里面视图使用
<?php echo $this->Html->script('relative/path/from/js/folder.js', array('inline' => false)) ?>
在内线轻松地添加一个JavaScript文件,你要设置网格使用一个Ext.data.Store
的实例,通过商店和它的依赖关系(您还需要代理,阅读器和编写器),您可以将数据来回发送到CakePHP控制器。
我们更喜欢使用JSON来处理我们的数据,因为它很容易在我们需要的地方操作和保存。
我们的基本设置通常是这样的。
在ExtJS的
var proxy = new Ext.data.HttpProxy({
api: {
// these will map to cakephp controller actions
create: { url: '/cake_controller/create', method: 'POST' },
read: { url: '/cake_controller/read', method: 'GET' },
update: { url: '/cake_controller/update', method: 'POST' },
destroy: { url: '/cake_controller/destroy', method: 'POST' }
}
});
var fields = Ext.data.Record.create([
// this will map to your database fields (or at least the ones your
// returning from cakephp to put in your grid
{ name: 'id', type: 'int' },
{ name: 'another_model_field' },
{ name: 'created', type: 'date', dateFormat: 'Y-m-d H:i:s' },
{ name: 'modified', type: 'date', dateFormat: 'Y-m-d H:i:s' },
]);
var reader = Ext.data.JsonReader({
root: 'controllerName' // this is the root node of the json cakephp is replying with
}, fields);
var writer = Ext.data.JsonWriter({
encoded: true,
writeAllFields: true
});
var store = Ext.data.Store({
storeId: 'myStore',
proxy: proxy,
reader: reader,
writer: writer,
autoSave: true,
autoLoad: true
});
那么你的网格内,设置你的店,你刚刚创建
var grid = Ext.grid.GridPanel({
store: store,
...
...
...
});
任何时候,该店换了一个,它会调用相关的API方法(创建,读取,更新,销毁)映射到您的CakePHP控制器操作。在您的动作中,您可以通过$this->params['form']
访问数据。如果您使用Json,就像我们一样,您可以使用json_decode($this->params['form'], true)
将其解码为关联数组,以便在CakePHP方面轻松进行操作/持久化。
您可以从CakePHP操作返回某些内容,以便ExtJS知道save/update/etc是否成功。我们通常只返回Json编码的array('success' => true)
。
我希望这可以帮助你开始,它需要很多东西,但是很多打字工作并不是很多工作。一旦你做了几次就很容易记住。
每当您使用ExtJS时,请记住docs是您的朋友!
在来这里之前,您应该尝试自己做一些小小的研究,如果您不知道它是如何工作的,请查看API和教程,然后附带具体问题。这是CakePHP的食谱,它有几个教程,并解释了你需要知道的一切http://book.cakephp.org/如果你的问题关闭不好,不要再次重新打开相同的问题。 – 8vius
我不明白的问题 – santiagobasulto