2010-12-03 26 views
0

Quelqu'un at-il déjà essayé de changer le modèle joomla 1.5 dans le code? Je ne sais pas comment le faire sur la version actuelle. Je voulais juste changer le modèle après la connexion de l'utilisateur.Modifier le modèle après la connexion de l'utilisateur dans joomla 1.5

Alors, je l'ai écrit le code comme ceci:

$mainframe->setTemplate('newtemplate'); 

Mais cela ne fonctionne. Quand je vois le joomla application.php, whoops, il n'y a pas de fonction setTemplate, mais il était là avant 1.5 (basé sur ma recherche sur le web). Quelqu'un sait-il comment le faire?

Mise à jour: semble que nous pouvons définir l'état de l'utilisateur et juste lire cet état utilisateur, puis rendre. Mais je ne sais pas où joomla rend le template, puisque j'ai mis un code dans library/joomla/application.php, insite render(), mais il n'a pas été exécuté. C'est ce que j'ai fait:

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); 
} 

Répondre

0

Peu importe, je l'ai résolu. Il suffit de modifier le code dans la bibliothèque principale (classe JDocument) pour lire le modèle de la session, fonctionne correctement.

Merci

+0

où vous définissez cela? s'il vous plaît donner l'emplacement du fichier .. –