我想呈現自己的視圖,我想避免呈現<head>
和default.ctp文件中定義的其他部分。只呈現指定視圖 - CakePHP
我有我想要的元素來呈現信息:
<?php
echo $post['Post']['id'];
?>
我怎樣才能做到這一點?這是爲了ajax響應。
謝謝!
我想呈現自己的視圖,我想避免呈現<head>
和default.ctp文件中定義的其他部分。只呈現指定視圖 - CakePHP
我有我想要的元素來呈現信息:
<?php
echo $post['Post']['id'];
?>
我怎樣才能做到這一點?這是爲了ajax響應。
謝謝!
您可以創建一個新的佈局(/app/views/layouts/ajax.ctp,例如),其中包含:
<?php echo $content_for_layout ?>
在你的控制器
然後,在您正在使用的動作,定義佈局:
function myaction() {
$this->layout = 'ajax';
}
參考:http://book.cakephp.org/view/962/Page-related-Attribute-layout
只需創建一個名爲ajax.ctp
佈局只包含
<?php
echo $content_for_layout;
然後在控制器把
$this->layout = 'ajax';
如果你想要爲所有AJAX請求編程方式做到這一點,只是RequestHandler
組件添加到您的控制器
var $components = array('RequestHandler'); //and possibly others
並創建一個beforeRender
方法類似
function beforeRender() {
if ($this->RequestHandler->isAjax()) {
$this->layout = 'ajax';
Configure::write('debug', 0);
}
}