Pregunta
Intento crear una aplicación CakePHP basada en temas. Yo usando la última versión CakePHP 2.0.0
Mi aplicación consiste en esos archivos
/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;
}
Mi problema ahora
Por qué el código en Admin.CTP en la carpeta de diseño en la línea 11 (echo $ this-> html-> css ('amdin.css');) Devuelva el siguiente resultado:
<link rel="stylesheet" type="text/css" href="/mars/css/amdin.css" />
El problema es que el enlace está incorporado. El archivo CSS no se carga porque no existe en esa ruta. ¿Alguna idea por favor?
Solución
El administrador debe ser administrador, no Amdin
EDITAR: Como dijo Farray.
Otros consejos
Corrige tu ortografía...
/App/View/Temed/Mars/Webroot/CSS/ADMin.css
<link rel="stylesheet" type="text/css" href="/mars/css/amdin.css" />
Tiene letras en 'Admin' transponse cuando incluye su archivo CSS ...