Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何覆盖默认布局_Php_Html_Css_Cakephp - Fatal编程技术网

Php 如何覆盖默认布局

Php 如何覆盖默认布局,php,html,css,cakephp,Php,Html,Css,Cakephp,我是PHP新手,今天我能够使用CakePHP yay显示我的第一个项目列表!但是,无论我显示什么,总是以默认格式显示。如何覆盖视图以在html中显示页面?我把css、javascript和图像放在哪里?在此之前,我的HTML在标题中有这个 <link rel="stylesheet" href="css/stylestopmenu.css" type="text/css" /> <link rel="stylesheet" href="css/stylessidemenu.cs

我是PHP新手,今天我能够使用CakePHP yay显示我的第一个项目列表!但是,无论我显示什么,总是以默认格式显示。如何覆盖视图以在html中显示页面?我把css、javascript和图像放在哪里?在此之前,我的HTML在标题中有这个

<link rel="stylesheet" href="css/stylestopmenu.css" type="text/css" />
<link rel="stylesheet" href="css/stylessidemenu.css" type="text/css" />
<link rel="stylesheet" href="css/jquery.rating.css" type="text/css" />
<link rel="stylesheet" href="css/specialtablemenu.css" type="text/css" />
<link rel="stylesheet" href="css/admintable.css" type="text/css" />
<script type="text/javascript" src="javascript/jquery.min.js"></script>

我不知道如何设计它,使其显示与以前一样。现在是这样的


我不想完全摆脱这一点,因为它告诉我错误,但,我如何才能这样做,我可以风格的网页,也许在其他地方?请原谅我,我是新的PHP和它是我很难理解的教程。非常感谢您的帮助。

您需要在控制器中定义自定义布局以覆盖默认布局:

//in controller say in beforeFilter function beforeFilter() { parent::beforeFilter(); $this->layout = "your_layout_name"; } //在控制器中说在beforeFilter中 函数beforeFilter(){ 父::beforeFilter(); $this->layout=“your\u layout\u name”; }
希望它能帮助您

CakePHP可以让您覆盖几乎所有内容,您只需要了解它的结构。最好是从
APP\u DIR\cake\libs\view\layouts\default.ctp
中的cake文件夹复制default.ctp文件


复制完后,将其放入
APP\u DIR\APP\views\layouts\
中,cake将开始使用该文件。要自定义它,只需打开该文件并在编辑器中进行更改。

一个小问题,我应该将我的图像、css和javascript放在哪里?通常是APP_DIR/APP/webroot/img/用于图像,APP_DIR/APP/webroot/js/用于脚本。但只要你把它放在webroot中,这并不重要,因为你可以简单地编辑布局,指向任何地方。只需确保使用帮助程序或URL帮助程序来生成路径。如果您将适当的资源放在适当的目录中(
css
js
img
),您就可以更轻松地利用HTML帮助程序,而不会弄乱
$this->webroot
。例如:
webroot/img/foo.jpg';?>“/>
变成
@Ross您不需要webroot。您也可以轻松地执行
$this->image('/images/foo.jpg');
。只需要使用绝对路径。@Ross不会有什么区别,因为您放置的路径是来自应用程序webroot的绝对路径。因此您是安全的。