Ir para conteúdo

POWERED BY:

Arquivado

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

zenfra

cakePHP - view - element

Recommended Posts

Boa tarde, Gostaria de saber se alguém poderia me explicar o a utilização da view -> element no cake. Estou iniciando na utilização desse framework e estou fazendo um site onde preciso utilizar os menus lateral e superior em algumas paginas. Esses menus são dinâmicos e pode ser atualizados através de um módulo administrativo do site.

 

Queria saber como consigo listar os registros existentes em uma tabela que representa o menu da aplicação com seus respectivos links para navegação no site em um element para requisitar posteriormente nas views que precisarem.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma sugestão que te dou é você montar seu layout e consultar qual elemento utilizar podendo montar algumas consultas p/ cada tipo de necessidade.

 

<?php
  if ($grupo == 1) {
   echo $this->element('menu1');
  }
  else {
   echo $this->element('menu2');
  }
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você diz criar consultas dentro do próprio element?

 

Eu não conseguiria por exemplo utilizar um método já existem no cotroller de uma determinada tabela que liste todos os registros dessa tabela?

 

A partir dai eu criaria uma lista e depois aplicaria o estilo necessário. Eu não estou conseguindo visualizar como montar esse element, como chamar eu até já saquei...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O exemplo que eu citei...

 

1º No controller você seta a variável da consulta;

2º Na view você pode definir qual layout usar... ou até mesmo utilizar está variável setada dentro do seu layout

e lá fazer as consultas p/ definir qual element usar...

 

 

No meu entendimento o element é estático... como você disse que terá vários menus... basta definir qual menu usar para cada tipo de grupo de usuário!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O elements também podem ser dinamicos.

Basta setar as consultas normalmente no controller.

Veja um exemplo:

 

ELEMENT:

<?php
  foreach($dados as $dado):
     echo $dado; // Item do menu
  endforeach;
?>

LAYOUT

 

...
<?php echo $this->element('myelement'); ?> // Chama o elemento
...

app_controller:

 ...
   function beforeRender(){
     $this->set('dados' , $this->paginate()); // Apenas um exemplo demonstrando como passar informações para a view - element
     }
...

Aqui setamos $dados para a view (element), e pode fazer o que quiser com ela dentro deste element (e dentro do layout também).

É possivel ter um controller maior de como/quando passar os dados, basta utilizar condições normalmente. E se necessitar de algum dado, procure em $this->params

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bacana,

Eu testei aqui essa sua explicação Lucas... funcionou legal..

Agora se eu setar por exemplos a variável dados em mais de um controller diferente da pau?

 

Tipo tenho os controllers posts e categorias.. se em ambas eu definir posts dessa forma ai e chamar em um element? Valeu!

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.