Кто-нибудь когда-нибудь пробовал изменить шаблон joomla 1.5 в коде? Не знаю, как это сделать в текущей версии. Я просто хотел изменить шаблон после входа пользователя.
Итак, я написал такой код:
$mainframe->setTemplate('newtemplate');
Но это не работает. КОГДА я вижу joomla application.php, упс, там нет функции setTemplate, но она была там до 1.5 (основываясь на моем поиске в Интернете). Кто-нибудь знает, как это сделать?
Обновление: кажется, что мы можем установить состояние пользователя и просто прочитать это состояние пользователя, а затем выполнить рендеринг. Но я не знаю, где joomla отображает шаблон, так как я поместил код в library/joomla/application.php, insite render(), но он не был выполнен. Вот что я сделал:
function render()
{
$params = array(
'template' => $this->getTemplate(),
'file' => 'index.php',
'directory' => JPATH_THEMES
);
// I added this code, where i set the user state $option.template somewhere else
$template = $mainframe->getUserState( "$option.template", 'FoxySales01VIP' );
if(!empty($template)){
$params['template'] = $template;
}
$document =& JFactory::getDocument();
$data = $document->render($this->getCfg('caching'), $params );
JResponse::setBody($data);
}