我想用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