Frage

Ich kann die $template Variable scheint dynamisch auf Kohana gebaut eine Website eingestellt.

Wenn ich die Template_Controller Klasse erweitern, kann ich den Namen der Vorlage wie folgt festgelegt:

public $template = 'template_file_name';

Aber ich kann es nicht dynamisch gesetzt wie:

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

oder

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

Ändern der $template Variable $this->template im Konstruktor bricht die Template_Controller irgendwie:

  

Fatal error: Aufruf an eine Elementfunktion Render () auf einem Nicht-Objekt

Ich brauche die Vorlage Dateinamen festlegen auf einem variablen Satz im Konstruktor basierte, oder vielleicht von einer externen Bibliothek gezogen.

Alle Ideen, wie dies möglich zu machen?

War es hilfreich?

Lösung

diesen Link kann die Antwort haben:

http://stii.co.za/ php / Überschreiben-default-Template-in-kohana-php /

Sie einfach Ihre Template-Konstruktor wie folgt ausführen:

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

Andere Tipps

Ich mache es wie folgt aus:

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

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

Weitere Informationen finden Sie hier: http://www.workinprogress.ca/kohana32/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top