我想自己渲染视图,我想避免渲染default.ctp文件中定义的<head>
和其他部分。
我有一个要在元素中呈现的信息:
<?php
echo $post['Post']['id'];
?>
我怎样才能做到这一点?这是一个ajax响应。
谢谢!
答案 0 :(得分:1)
只需创建一个名为ajax.ctp
的布局,其中只包含
<?php
echo $content_for_layout;
然后在控制器中输入
$this->layout = 'ajax';
如果要以编程方式对所有AJAX请求执行此操作,只需将RequestHandler
组件添加到控制器
var $components = array('RequestHandler'); //and possibly others
并创建一个{/ 1}}方法,如
beforeRender
答案 1 :(得分:1)
您可以创建一个新的布局(例如/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