Я не могу настроить динамическую переменную $template
сайта, построенного на Kohana.Настройка имени шаблона Kohana динамически
Если я расширить класс Template_Controller, я могу установить имя шаблона, как это:
public $template = 'template_file_name';
Но я не могу установить его динамически как:
public $template = $this->setTemplate();
или
switch($var):
default:
public $template = 'filename';
break;
endswitch;
Изменение переменной $template
с использованием $this->template
в конструкторе разбивает T emplate_Controller как-то:
Fatal error: Call to a member function render() on a non-object
Мне нужно установить шаблон файл на основе переменного набора в конструкторе, или, возможно, вытащил из внешней библиотеки.
Любые идеи, как сделать это возможным?
Я ничего не знаю о Kohana, но setTemplate() действительно возвращает значение? Также вы должны объявить переменную после открытия класса (но вне конструктора): 'public $ template;' и затем установить его в конструкторе: '$ this-> template = 'template';'. –
Хм, это должно быть возможно ..! Что происходит, когда вы пытаетесь? Я использую для этого множество свойств, включая отношения ORM. Никогда не пробовал с именем храма, хотя ... – Cambiata
Нет, setTemplate не возвращает значение - я просто попытался вернуть динамическое значение здесь из внутренней функции. Изменение переменной $ template с использованием шаблона $ this-> в конструкторе каким-то образом разбивает Template_Controller: Неустранимая ошибка: вызов функции-объекта-члена() для объекта без объекта – jmccartie