Dinamik Kohana şablon adını ayarlama

2 Cevap php

Ben dinamik Kohana üzerine inşa edilmiş bir sitenin $template değişkeni ayarlamak için görünmüyveyaolabilir.

Ben Template_Controller sınıfını genişleten, ben böyle şablon adı ayarlayabilirsiniz:

public $template = 'template_file_name';

Ama ben gibi dinamik olarak ayarlanamaz:

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

veya

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

Changing the $template variable using $this->template in the constructveyabreaks the Template_Controller somehow:

Ölümcül hata: olmayan bir nesne üzerinde () işlemek bir üye işlev çağrısı

I need to set the template filename based on a variable set in the constructor, veyaperhaps pulled from an external library.

Herhangi Bunu mümkün kılmak için nasıl bir fikir?

2 Cevap

Bu linki cevabı olabilir:

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

Sadece bu gibi şablon kurucu çalıştırın:

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

Ben bu gibi yapın:

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

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

More information here: http://www.workinprogress.ca/kohana32/