web-dev-qa-db-fra.com

Comment remplacer le modèle de composant dans joomla si l'utilisateur est connecté?

Je travaille sur Joomla 1.5. Je dois remplacer le modèle par défaut Joomla de mon composant (Virtuemart). Ça fonctionne bien. Mais le problème est que je dois remplacer mon modèle si l'utilisateur est connecté uniquement. Je dois vérifier ressembler à ceci:

$user = JFactory::getUser();
if($user->guest==1){

// Not override my template 

}else{


// Override this template  

}

Je sais que mon état fonctionne, mais où devrais-je écrire cet état? Et si la condition est fausse alors comment puis-je faire cela?

1
Umesh

Ce que je ferais personnellement, c’est utiliser 2 sous-modèles.

Commencez donc par créer votre remplacement de modèle pour la vue que vous souhaitez utiliser, puis créez 2 nouveaux fichiers PHP), de sorte que la structure de votre répertoire ressemblera à ceci:

tmpl/
   default.php
   default_guest.php
   default_loggedin.php

Dans votre default.php, ajoutez ce qui suit:

$user = JFactory::getUser();

if ($user->guest == 1)
{
    echo $this->loadTemplate('guest');
}
else
{
    echo $this->loadTemplate('loggedin');
}

Ensuite, dans votre default_loggedin.php ajoutez votre code pour le remplacement du modèle principal.

Dans votre default_guest.php, copiez et collez simplement le code à partir de la vue par défaut.

1
Lodder