我尝试创建一个基于主题的 CakePHP 应用程序。我使用的是最新版本的 CakePHP 2.0.0
我的应用程序由这些文件组成
/app/Controller/AppController.php
class AppController extends Controller
{
public $helpers = array('Html', 'Session', 'Form');
public function beforeFilter()
{
$this->setupTheme();
}
private function setupTheme()
{
$this->viewClass = 'Theme';
$this->theme = 'Mars';
$this->layout = 'admin';
}
}
/app/Controller/LanguagesController.php
class LanguagesController extends AppController
{
public $name = "Languages";
public function index()
{}
}
/app/View/Themed/Mars/Languages/index.php
// Currently Empty
/app/View/Themed/Mars/Layouts/admin.ctp
<?php echo $this->Html->docType('xhtml-strict'); ?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<?php echo $this->Html->charset(); ?>
<meta name="author" content="Nikos Merianos" />
<title><?php echo $title_for_layout; ?></title>
<?php
echo $this->Html->meta('icon');
echo $this->Html->css('amdin.css');
?>
</head>
<body>
<?php
echo $this->Session->flash();
echo $content_for_layout;
echo $this->element('sql_dump');
echo $scripts_for_layout;
?>
</body>
</html>
/app/View/Themed/Mars/webroot/css/admin.css
body
{
background: #FA0;
}
我现在的问题
为什么第 11 行 Layout 文件夹下的 admin.ctp 中的代码 (echo $this->Html->css('amdin.css');) 返回以下结果:
<link rel="stylesheet" type="text/css" href="/mars/css/amdin.css" />
问题是链接不正确。CSS 文件未加载,因为该路径不存在。请问有什么想法吗?