Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

maubiasotto

layouts do site e admin

Recommended Posts

Fala pessoal tudo beleza?

 

Surgiu mais uma dúvida nos meus estudos.

 

Eu já fiz um sistema que não tinha a parte do site.

 

Mas agora eu to desenvolvendo um sistema que terá o site também.

 

Como que faço na questão do layout?

 

Quando é um só eu usei o default, supondo que eu usei o default para o site como que faço para o admin, seto com "$this->layout = 'outro'", ou tem como fazer de outro jeito?

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode definir qual layout a action vai usar no controller, dentro da action:

 

$this->layout = 'meu_site'; // Usa o app/views/layouts/meu_site.ctp como layout
Mas o recomendável é que o site (externo) seja o layout "default" e o sistema (interno) seja outro layout... Pois assim as mensagens de erro 404 e etc são exibidas no layout do site e não do sistema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aproveitando o assunto, pretendo ter meu próprio layout para formulários, mas gostaria de aproveitar o do Cake e só dar uma mexida - pelo que vi, ele "monta" a página na chamada à variável "$content_for_layout;" - mas onde está o conteúdo em si dessa variável?

 

Andei vendo a página form.php, mas acho que não deve ser ali não...

Queria encontrá-la para fazer uma cópia e editar sobre ela.

 

Mais 1 dúvida - onde vocês colocam exatamente o

$this->pageTitle = 'XXXX' ?

 

Coloquei no controller mas não alterou o título :huh:

 

Grata! ^_^

 

Natascha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aproveitando o assunto, pretendo ter meu próprio layout para formulários, mas gostaria de aproveitar o do Cake e só dar uma mexida - pelo que vi, ele "monta" a página na chamada à variável "$content_for_layout;" - mas onde está o conteúdo em si dessa variável?

 

Andei vendo a página form.php, mas acho que não deve ser ali não...

Queria encontrá-la para fazer uma cópia e editar sobre ela.

 

Mais 1 dúvida - onde vocês colocam exatamente o

$this->pageTitle = 'XXXX' ?

 

Coloquei no controller mas não alterou o título :huh:

 

Grata! ^_^

 

Natascha

 

Seguinte @Natasch,

você não precisa mexer na variável $content_for_layout, monte o seu layout, e ponha essa variável no lugar onde vai ficar o conteúdo dinâmico, ou seja, onde vai ficar o conteúdo de cada página que você criar.

Quando você criar uma view para um formulário de contato, por exemplo, o conteúdo que vocÊ colocar nessa view irá aparecer automaticamente no seu layout, no lugar que a variável estiver colocada. Não tem segredo.

 

Quanto ao pageTitle. Utilize a versão mais recente do CakePHP (eu recomendo a 1.3.11, por ter mais tutoriais pra essa versão, ou a 2.0 que acabou de ser lançada).

No seu layout, tem que ter uma variável chamada $title_for_layout (ou o nome que você quiser, mas é melhor manter o padrão). E no seu controller você cria e seta ela, desta forma:

 

<?php
class PostsController extends AppController {
var $name = 'Posts';

function index(){
	$title_for_layout = "Espaço do cliente - Dashbooard";

	$this->set(compact('title_for_layout'));
}//end function login()

}//end class

 

e no seu layout, ou view.

 

<?php echo (isset($title_for_layout) && !empty($title_for_layout)) ? $title_for_layout. : 'Nome padrão';?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi. Estou usando a versão 1.3.13.

 

Sobre o title, funcionou o que você me passou, e o que tentei fazer anteriormente é a maneira que consta aqui, e não deu certo:

http://book.cakephp.org/pt/compare/962/Relativo-a-p%C3%A1gina-layout-e-pageTitle

 

+1pergunta: hoje coloquei máscara em campos de valor, para preenchimento automático da vírgula. Como ela existe no campo, "quebra" a validação do

'rule' => 'Numeric' 

- como vocês fazem em caso como esse? Tem que fazer uma regra de validação customizada com regex?

 

Aproveitando, no caso de eu ter uma mascara, ele consegue validar com essa regra:

array('between', 0, 99999)

? Porque no campo estará com ponto, vírgula...

 

Obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.