Pergunta

Eu não consigo definir a variável $template dinamicamente de um site construído em Kohana.

Se eu estender a classe Template_Controller, posso definir o nome do modelo como este:

public $template = 'template_file_name';

Mas eu não posso defini-lo de forma dinâmica como:

public $template = $this->setTemplate();

ou

switch($var):
    default:
       public $template = 'filename';
       break;
endswitch;

Alterar a variável $template usando $this->template nos intervalos do construtor do Template_Controller de alguma forma:

Erro fatal: Chamada para uma função membro render () em um não-objeto

Eu preciso definir o nome do arquivo de modelo com base em um conjunto de variáveis ??no construtor, ou talvez puxado de uma biblioteca externa.

Todas as idéias como fazer isso possível?

Foi útil?

Solução

este link pode ter a resposta:

http://stii.co.za/ php / substituindo-default-template-in-kohana-php /

apenas executar seu construtor modelo como este:

public function __construct()
    {
        $this->template = 'foobar';
        parent::__construct();
    }

Outras dicas

Eu faço isso como este:

public function action_myaction()
{
    // template
    $this->template = "template/overlay";
    parent::before();

    // display
    $this->template->title = 'My Action';
    $this->template->content = View::factory('myaction')
}

Mais informações aqui: http://www.workinprogress.ca/kohana32/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top