Question

Je n'arrive pas à définir la variable $ template de manière dynamique pour un site créé sur Kohana.

Si j'étends la classe Template_Controller, je peux définir le nom du modèle comme suit:

public $template = 'template_file_name';

Mais je ne peux pas le définir dynamiquement comme:

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

ou

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

Changer la variable $ template à l'aide de $ this- > template dans le constructeur interrompt le Template_Controller:

  

Erreur fatale: appel d'une fonction membre render () sur un non-objet

Je dois définir le nom de fichier du modèle en fonction d'une variable définie dans le constructeur, ou peut-être extrait d'une bibliothèque externe.

Des idées pour rendre cela possible?

Était-ce utile?

La solution

ce lien peut avoir la réponse:

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

lancez simplement le constructeur de votre modèle comme ceci:

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

Autres conseils

Je le fais comme ça:

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

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

Plus d'informations ici: http://www.workinprogress.ca/kohana32/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top