CakePHP アプリでインプレース編集をセットアップしましたが、1 つの問題を除いて、かなりうまく機能します。データがデータベースに正常に送信されると、戻り値には「admin.ctp」レイアウト全体が含まれます。私はいくつかのことを試みましたが、成功しませんでした$this->autoRender = false
。$this->layout = 'ajax'
以下の私のコードをしてください:
jQueryコード
$('.setting_value').editable('/settings/ajax_edit',{
id : 'data[Setting][id]',
name : 'data[Setting][value]',
select: true,
type : 'text',
cancel : 'Cancel',
submit : 'Save',
tooltip : 'Click to edit the title',
indicator: '<img src="/img/admin/ajax-loader.gif">'
});
マイコントローラー機能
public function ajax_edit(){
// $this->autoRender = false; // this doesnt seem to work
// $this->layout = 'ajax' // this does not work as well
if ($this->request->data) {
$this->Setting->id = $this->request->data['Setting']['id'];
$this->Setting->saveField('value', $this->request->data['Setting']['value']);
$this->set('newvalue', $this->request->data['Setting']['value']);
}
}
繰り返しますが、すべてがうまく機能しますが、変更された値が返される場合です。