0

我尝试创建一个基于主题的 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 文件未加载,因为该路径不存在。请问有什么想法吗?

4

2 回答 2

5

检查你的拼写...

/app/View/Themed/Mars/webroot/css/a dm in.css

<link rel="stylesheet" type="text/css" href="/mars/css/amdin.css" />

包含 CSS 文件时,“管理员”中的字母已转置...

于 2011-10-18T15:49:13.317 回答
3

管理员应该是管理员,而不是 amdin

编辑:就像法雷说的那样。

于 2011-10-18T15:57:39.123 回答