Parameter oder wie?
- nicolafw
-
Autor
- Neues Mitglied
-
Weniger
Mehr
07 Juni 2012 14:21 - 07 Juni 2012 14:23 #34713
von nicolafw
Parameter oder wie? wurde erstellt von nicolafw
Hallo,
ich hatte mein Problem mit den verschiedenen Templates für registrierte und nicht registrierte User ja gelöst: www.joomla.ch/forum/143-templates/34576-...egistrierte-benutzer
Registrierte User > blaues Template
Nicht Registrierte User > weisses Template
Aber nun soll auch schon die Login-Seite blau sein, obwohl man ja noch nicht eingeloggt ist. Jetzt habe ich das mit Parametern probiert um einen eigenen Style einrichten zu können, aber erfolglos.
Wie mache ich das?
index.php
templateDetails.xml
Total falsch?
ich hatte mein Problem mit den verschiedenen Templates für registrierte und nicht registrierte User ja gelöst: www.joomla.ch/forum/143-templates/34576-...egistrierte-benutzer
Registrierte User > blaues Template
Nicht Registrierte User > weisses Template
Aber nun soll auch schon die Login-Seite blau sein, obwohl man ja noch nicht eingeloggt ist. Jetzt habe ich das mit Parametern probiert um einen eigenen Style einrichten zu können, aber erfolglos.
Wie mache ich das?
index.php
Code:
<?php
$user = &JFactory::getUser();
$userid = $user->get('id');
?>
...
<?php
$tplColour = $this->params->get( 'color' );
$this->addStyleSheet( $this->baseurl . '/templates/'
. $this->template . '/css/' . $tplColour .'.css' );
?>
<?php if($userid >= 1) : ?>
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/blue.css" type="text/css" media="screen, projection" />
<?php else : ?>
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/white.css" type="text/css" media="screen, projection" />
<?php endif; ?>
templateDetails.xml
Code:
<config>
<fields name="parameter">
<fieldset name="color">
<field name="color" type="list" default="white"
label="Color" description="Choose the template colour.">
<option value="white">white</option>
<option value="blue">blue</option>
</field>
</fieldset>
</fields>
</config>
Total falsch?
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Tribal6
-
- Offline
-
07 Juni 2012 22:25 #34716
von Tribal6
Tue das, was du kannst, mit dem was du hast, da wo du bist.
Tribal6 antwortete auf Aw: Parameter oder wie?
Nö, ist im Prinzip richtig, wie du das versuchst.
Aber ändere doch mal in der templateDetails.xml
in
Und um sicher zu sein, das in der Variable $tplColour wirklich was drinn steht, kannst du bei der Zuweisung auch noch einen Default-Wert angeben, falls da wirklich nix kommt:
Aber so, wie du das aktuell versuchtst, ist es noch nicht ganz perfekt, denn so wird auf jeder Seite entweder ein CSS zweimal geladen, oder blau und weiss gleichzeitig. Ist denn die Loginseite ein Menupunkt? Denn dann könntest du die Abfrage so anpassen/erweitern, das nur ein CSS geladen wird, und zwar das richtige.
Aber ändere doch mal in der templateDetails.xml
Code:
<fields name="parameter">
Code:
<fields name="params">
Code:
$tplColour = $this->params->get( 'color', 'white' );
Tue das, was du kannst, mit dem was du hast, da wo du bist.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- nicolafw
-
Autor
- Neues Mitglied
-
Weniger
Mehr
11 Juni 2012 14:13 - 11 Juni 2012 14:28 #34737
von nicolafw
nicolafw antwortete auf Aw: Parameter oder wie?
Danke für deine Antwort Tribal, ich habe die templateDetails.xml angepast und jetzt erscheinen mit tatsächlich im Backend die Parameter.
Aber ich bin überhaupt nicht PHP-bewandert. Was muss ich ändern, damit die Abfrgae klappt? Es gibt keine eigene Login-Seite. Es gibt nur einen Link zu einem Menüpukt, der nur für registrierte User ist: www.quantica-capital.com/joomla_25/ klick rechts auf Investor Area. Sobald man eingeloggt ist ist alles blau, aber auch die Login-Seite soll schon blau sein.
Aber ich bin überhaupt nicht PHP-bewandert. Was muss ich ändern, damit die Abfrgae klappt? Es gibt keine eigene Login-Seite. Es gibt nur einen Link zu einem Menüpukt, der nur für registrierte User ist: www.quantica-capital.com/joomla_25/ klick rechts auf Investor Area. Sobald man eingeloggt ist ist alles blau, aber auch die Login-Seite soll schon blau sein.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Tribal6
-
- Offline
-
11 Juni 2012 21:57 #34739
von Tribal6
Tue das, was du kannst, mit dem was du hast, da wo du bist.
Tribal6 antwortete auf Aw: Parameter oder wie?
Hi
Versuch mal des do:
Damit wäre dein Template-Parameter nun wieder überflüssig, aber nun weisst du immerhin, wie die gehen, für ein andermal 
Prost
Roger
Versuch mal des do:
Code:
<?php
$userId = (int)JFactory::getUser()->get('id');
$option = JRequest::getCmd('option');
$view = JRequest::getWord('view');
$isLogin = ($option === 'com_users' && $view === 'login') ? true : false ;
if($userId > 0 || $isLogin) {
// registrierter User oder Loginseite
$color = 'blue';
} else {
$color = 'white';
}
$this->addStyleSheet( $this->baseurl . '/templates/' . $this->template . '/css/' . $color .'.css' );
?>
Prost
Roger
Tue das, was du kannst, mit dem was du hast, da wo du bist.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Moderatoren: pascale, Tribal6, RePao, Dragonlord, Chris Hoefliger, adiheutschi.ch