Layout 在CakePHP3.6布局中,我不加载视图 ... ...
嗨 阅读CakePHP 3.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中,视图保存在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()
{
}
}