Domanda

Non riesco a impostare dinamicamente la variabile $ template di un sito costruito su Kohana.

Se estendo la classe Template_Controller, posso impostare il nome del modello in questo modo:

public $template = 'template_file_name';

Ma non posso impostarlo in modo dinamico come:

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

o

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

La modifica della variabile $ template usando $ this- > template nel costruttore interrompe in qualche modo Template_Controller:

  

Errore irreversibile: chiamata a una funzione membro render () su un non oggetto

Devo impostare il nome file del modello basato su una variabile impostata nel costruttore, o forse estratto da una libreria esterna.

Qualche idea su come renderlo possibile?

È stato utile?

Soluzione

questo link può avere la risposta:

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

esegui il costruttore del modello come questo:

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

Altri suggerimenti

Lo faccio in questo modo:

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

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

Ulteriori informazioni qui: http://www.workinprogress.ca/kohana32/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top