it-swarm.com.de

Wie kann ich eine Komponentenvorlage in Joomla überschreiben, wenn ein Benutzer angemeldet ist?

Ich arbeite an Joomla 1.5. Ich muss die Joomla-Standardvorlage meiner Komponente (Virtuemart) überschreiben. Es funktioniert gut. Aber das Problem ist, dass ich meine Vorlage überschreiben muss, wenn der Benutzer nur angemeldet ist. Ich muss folgendes überprüfen:

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

// Not override my template 

}else{


// Override this template  

}

Ich weiß, dass mein Zustand funktioniert, aber wo soll ich diesen Zustand schreiben? Und wenn die Bedingung falsch ist, wie kann ich das tun?

1
Umesh

Was ich persönlich tun würde, ist, 2 Untervorlagen zu verwenden.

Erstellen Sie also zuerst Ihre Vorlagenüberschreibung für die Ansicht, die Sie verwenden möchten, und erstellen Sie dann 2 neue PHP Dateien, damit Ihre Verzeichnisstruktur wie folgt aussieht:

tmpl/
   default.php
   default_guest.php
   default_loggedin.php

Fügen Sie in Ihrer default.php Folgendes hinzu:

$user = JFactory::getUser();

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

Fügen Sie dann in Ihrer default_loggedin.php Ihren Code für die Hauptvorlagenüberschreibung hinzu.

Kopieren Sie in Ihrer default_guest.php einfach den Code aus der Standardansicht und fügen Sie ihn ein.

1
Lodder