سؤال

وأنا لا يمكن أن يبدو لتعيين متغير $template حيوي من موقع بني على Kohana.

إذا أقدم الطبقة Template_Controller، ويمكن أن يحدد اسم قالب مثل هذا:

public $template = 'template_file_name';

ولكن أنا لا يمكن أن يحدد بشكل حيوي مثل:

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

أو

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

وتغيير المتغير $template باستخدام $this->template في منشئ يكسر Template_Controller بطريقة أو بأخرى:

<اقتباس فقرة>   

خطأ فادح: الدعوة إلى وظيفة عضو تقديم () على غير كائن

ولست بحاجة لتعيين اسم القالب استنادا إلى مجموعة المتغير في المنشئ، أو ربما سحبت من مكتبة خارجية.

وأي أفكار كيفية جعل هذا ممكنا؟

هل كانت مفيدة؟

المحلول

ويمكن أن يكون هذا الرابط الجواب:

http://stii.co.za/ فب / تجاوز التقصير-القالب في kohana-فب /

وفقط تشغيل منشئ القالب مثل هذا:

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

نصائح أخرى

وأفعل مثل هذا:

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

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

ومزيد من المعلومات هنا: http://www.workinprogress.ca/kohana32/

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top