Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Baixei o CakePHP do site oficial e instalei ele localmente. Entretanto a página default (e quaisquer outras páginas que eu configure) não carrega CSS nem imagens.
Não consigo entender o porquê, já que segui os tutoriais do site oficial.
Alguém já teve esse problema? Sabem como resolver?
Estou usando sim, mas mesmo assim não carrega os arquivos.
Você está testando localmente ou no ar, em algum servidor?
Já tentei local e no servidor e dá o mesmo erro.
Você está colocando tudo certinho dentro das pastas app/webroot/css/ e app/webroot/img/?
No CSS você vai precisar chamar as imagens relativamente, assim:
div#site {
background: url("../img/fundo.jpg");
}Fiz exatamente assim. E os arquivos estãoo dentro do caminho correto. Notei também que o javascript não é carregado...
Posta o código.
BOm, axo que nao deva ser isso, mas você carregou os helpers?
var $helpers = array('Html','Javascript');
Segue o codigo...
index.ctb
<?php e($html->docType('xhtml-trans')); ?>
<html xmlns="[http://www.w3.org/1999/xhtml"](http://www.w3.org/1999/xhtml) xml:lang="pt-br" lang="pt-br">
<head>
<title><?php $tituloPagina; ?></title>
<?php e($html->charset('ISO-8859-1') . "\n"); ?>
<meta http-equiv="content-language" content="en" />
<meta http-equiv="content-language" content="pt-br" />
<meta name="language" content="pt-br" />
<meta name="author" content="André Luis Carvalho da Silva" />
<meta name="DC.title" content="Website" />
<meta name="Subject" content="Internet" />
<meta name='description' content='Um excelente website.' />
<meta name='keywords' content='palavra1, palavra2" />
<meta name="robots" content="ALL" />
<meta name="distribution" content="Global" />
<meta name="rating" content="General" />
<meta name="doc-type" content="Web Page" />
<meta name="doc-class" content="Completed" />
<meta name="doc-rights" content="Copywritten Work" />
<meta name="revisit-after" content="4" />
<!-- Favicon -->
<?php e($html->meta('icon', $html->url('../img/favicon.ico')) . "\n"); ?>
<!-- Declarando CSS -->
<?php e($html->css('estilos', array(), array('media'=>'screen')) . "\n"); ?>
<?php e($html->css('content_slider', array(), array('media'=>'screen')) . "\n"); ?>
<?php e($html->css('jquery.jcarousel', array(), array('media'=>'screen')) . "\n"); ?>
<?php e($html->css('skin_2', array(), array('media'=>'screen')) . "\n"); ?>
<!-- Declarando Javascript -->
<?php e($javascript->link('jquery.min') . "\n"); ?>
<?php e($javascript->link('jquery-ui.min') . "\n"); ?>
<?php e($javascript->link('jquery.jcarousel') . "\n"); ?>
</head>
<body>
<div>Texto</div>
</body>
</html>O que é esta função "e()"?
Tente dar echo normalmente, sem uso da função para ver se funciona.
E no titulo você pode usar a variavel padrao do cake "$title_for_layout". E você pode defini-la assim no controller:
$this->pageTitle = 'Meu titulo';E lá você esqueceu de imprimi-la também.
O que é esta função "e()"?
Equivale ao ECHO
E lá você esqueceu de imprimi-la também.
Erro meu... faltou imprimir...
Eu coloquei o helper no controller e mexi no mod_rewrite do apache... aí funcionou.
Se eu colocar num servidor, como eu ativaria o mod_rewrite?
Você teria que ter acesso ao .htaccess, que na maioria das vezes nao acontece nos hosts de hoje.
Porém, grande parte dos hosts pagos ja veem com mod_rewrite ativado (até alguns free).
Então provavelmente você não terá que se preocupar com isso.
Mas ae... poste a solução para caso apareça alguem com o mesmo problema, terá como ajuda-lo =D
1) A extensão do seu layout é .ctb mesmo? O correto é .ctp
2) Copia aqui o HTML resultado da página (código fonte)
[RESOLVIDO]
Coloquei o HELPER no controller
var $helpers = array('Html','Javascript','Ajax'); //Carregando Helpers
e ativei o mod-rewrite na configuração do sevidor local.
Quando pus ONLINE não tive problemas.
Agradeço a ajuda.
Você está usando o HTML helper?