Galera,

Eu tenho a mesma logica para os layout e tenho feito da seguinte forma:

Meu controller: (Vou dar um exemplo)

class Controller_Fornecedor extends Controller_Default {
 public $template = 'templateForSite'; //Ele ta definindo o layouy padrao
que possui as var $topo etc. Ele esta na pasta views/templateForSite.php
 public function action_site()
{

           //Cria a logico aqui em array, que seria os itens de seu menu!

           $categorias =
array('Moda','Lojas','Saude','Bares','Servicos','Turismo');

           $this->template->topo = $view = View::Factory('index/menu')
->bind('menu', $categorias);

        }
}

Explicando:


   - $categorias =
   array('Moda','Lojas','Saude','Bares','Servicos','Turismo');
   - Aqui eu criei um array que pode ser criado dinamicamente, que seria o
   seu menu


   - $this->template->topo = $view = View::Factory('index/menu')
   - Aqui eu eu estou enviando para a minha Var $topo que esta no meu
   template views/templateForSite.php O template do menu.

Agora eu preciso enviar ao meu template na pasta views/index/menu.php as
variaveis que seria o array, e as logicas que eu quiser.


   - ->bind('menu', $categorias);
   - Aqui eu uso a funcao bind para nomear uma variavel no meu template e
   carredo a variavel $menu que esta dentro do meu arquivo index/menu.php com
   o array que eu criei setando em $categorias...

desta forma eu posso carregar varias templantes dentro do meu index,
criando separações inteligentes e até puxando ele quando eu quiser. Usando
o bind eu envio as logicas que programei no meu controller para o layout
mantendo assim as separações.

De boa, se falei besteira aqui. Desculpa, sou novo no Kohana. Espero ter
dado uma luz.

Qual quer duvida, me responde.


Em 19 de abril de 2012 11:46, Djam <[email protected]> escreveu:

> Não entendi muito bem, eu também quero fazer um menu dinâmico aqui cujos
> items que aparecerão dependerão das permissões da pessoa.
>
> Tenho a tabela usuário, a menu, e a restrições, no caso preciso fazer um
> código para restringir o out da view, no caso escrever isto nela não serve
> correto.
>
> E este menus aparecer em todos os templates que eu identificar, ai não sei
> como eu chamaria, a idéia era fazer algo tipo:
>
> No Template:
>
> ...
> $this->template->title = 'SisAmpara';
> $this->template->autenticacao = '';
> $this->template->menu = Menu_Core::render()
> ...
>
> Onde o menu_core gera a lógica do negócio e manda renderizar em uma view
> tecnicamente "partials", ai com essa chamada eu imprimiria.
>
> Mas não foi, alguem tem idéia como eu faria esta chamada?
>
> Em quinta-feira, 18 de junho de 2009 10h58min24s UTC-3, Marcelo Rodrigo
> Wiebbelling escreveu:
>>
>> Galera,
>>
>> Tenho uma situação aqui e queria ouvir a opinião de vocês na melhor forma
>> de implementar isto.
>> Em uma aplicação, temos uma estrutura de "templates" que usa view dentro
>> da view.
>>
>>
>>    1. Temos uma view "esqueleto" chamada index, que só contém <?php echo
>>    $header; echo $content; echo $footer;?>
>>    2. No header, temos um menu (além de outras coisas, claro)
>>    3. Dentro deste menu, temos um menu que será carregado dinamicamente
>>    via ORM
>>
>>
>> Agora vem o problema: todas as actions dos controllers usam esta view
>> "esqueleto" e teríamos de implementar uma chamada ao ORM para carregar os
>> itens dinâmicos toda e qualquer action de cada controller.
>>
>> Só que colocar chamadas ao ORM na View eu achei muito POG, alguma idéia
>> de como resolver isto sem ser repetitivo?
>> Não sei se consegui ser claro.
>>
>> Qualquer dúvida, estou a disposição.
>> Atenciosamente,
>>
>> Marcelo Rodrigo
>> smartFocus | Tecnologia
>> http://www.smartfocus.com.br
>> 47 8408-2432 | 47 3001-4100
>>
>>  --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
> Php" dos Grupos do Google.
> Para ver esta discussão na web, acesse
> https://groups.google.com/d/msg/kohana-php/-/uxOtofO0BPgJ.
> Para postar neste grupo, envie um e-mail para [email protected].
> Para cancelar a inscrição nesse grupo, envie um e-mail para
> [email protected].
> Para obter mais opções, visite esse grupo em
> http://groups.google.com/group/kohana-php?hl=pt-BR.
>



-- 

Att,
*Guilherme Maule dos Reis*
*Web Designer *

43 - 9129 1400

-- 
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos 
Grupos do Google.
Para postar neste grupo, envie um e-mail para [email protected].
Para cancelar a inscrição nesse grupo, envie um e-mail para 
[email protected].
Para obter mais opções, visite esse grupo em 
http://groups.google.com/group/kohana-php?hl=pt-BR.

Responder a