Layout 在CakePHP3.6布局中,我不加载视图 ... ...

Layout 在CakePHP3.6布局中,我不加载视图 ... ...,layout,cakephp-3.0,Layout,Cakephp 3.0,嗨 阅读CakePHP 3.6的文档告诉我,在布局中加载内容: 在CakePHP 3.6中,视图保存在src/Template中 我的观点:src/Template/Casa/Casa.ctp 这样,如果我使用控制器CasaController.php创建一个名为casa.ctp的视图,以便在布局中看到该视图,我应该这样称呼它: 是这样吗?因为它就像我在尝试,但它对我不起作用,它不加载任何东西,但它也不会给我任何错误 关于您需要在您的casa控制器中执行casa操作 <!DOCTYPE h

阅读CakePHP 3.6的文档告诉我,在布局中加载内容:

在CakePHP 3.6中,视图保存在src/Template中

我的观点:
src/Template/Casa/Casa.ctp

这样,如果我使用控制器CasaController.php创建一个名为casa.ctp的视图,以便在布局中看到该视图,我应该这样称呼它:

是这样吗?因为它就像我在尝试,但它对我不起作用,它不加载任何东西,但它也不会给我任何错误


关于

您需要在您的casa控制器中执行casa操作

<!DOCTYPE html>
<html lang="en">
<head>
<title><?= h($this->fetch('title')) ?></title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<!-- Include external files and scripts here (See HTML helper for more info.) -->


 <?php
    echo $this->fetch('meta');
    echo $this->fetch('css');
    echo $this->fetch('script');
    ?>
</head>
<body>

<!-- If you'd like some sort of menu to
show up on all of your views, include it here -->
<div id="header">
    <div id="menu">...</div>
</div>

<!-- Here's where I want my views to be displayed -->
<?= $this->fetch('content') ?>

<!-- Add a footer to each displayed page -->
<div id="footer">...</div>

</body>
</html>

我已经在CasaControlleri中创建了公共函数casa(),如果您使用
casa()
操作和
casa.ctp
视图创建了
casaController
,那么一切都应该可以工作(无需获取“casa”)。当你说“它不装载任何东西”时,你到底是什么意思?空白页?一个空的布局?是否启用了调试?您是否转到了正确的url(即
servername/casa/casa
)?你检查错误日志了吗?当我说它不加载任何东西时,我的意思是它加载了一个空的设计,因为布局的结构和样式加载了它,但是如果我转到casa/casa,它不会加载casa的HTML。它从布局和日志中加载,它不会显示任何错误。很抱歉,这个愚蠢的问题,
casa.ctp
是否包含任何内容?是的,一个指向模型的foreach和一个工作并显示内容的foreach,因为我在纯PHP中尝试过它,我还放了一个以防万一的例子。那么你是说问题就出在url上?您指向的是
http://servername
而不是
http://servername/casa/casa
?现在你想要
http://servername
显示
casa/casa
?如果是这样,你可以做路由。看。这一段的开头准确地解释了你的情况
class CasaController extends AppController
{

    public function initialize()
    {
        parent::initialize();
    }

    public function casa()
    {

    }

}