Seite 1 von 1
Modul für Variablenübergabe
Verfasst: Mi 27. Jul 2005, 13:28
von JuePoe
Hallo,
ich glaube, es ist ganz einfach, bekomme es aber selber nicht hin:
Ich würde gern an mehreren Stellen eines Layouts eine PHP-Variable einbauen, z.B. um das Stylesheet zu wählen oder ein include.
Codebeispiel:
$col bestimmt die Farbe.
<link rel="stylesheet" href="css/test-<? print $col; ?>.css" type="text/css">
<? include "/inc/" $col . ".inc"; // gruen.inc, rot.inc. etc ?>
Der Admin soll wählen können, welche Farbe die Seite erhalten soll. Dafür muss er bei Erstellen der Seite wählen können:
z.B. mit Optionen $col = "gruen", "rot", "gelb".
Bisher hatte ich für jede Farbe eine eigene Layout/Template Kombi erstellt, obwohl sich die Layouts nur an 2 Stellen unterschieden.
Hoffe, mein Anliegen ist verständlich.
Jürgen
Verfasst: Mi 27. Jul 2005, 14:29
von HerrB
Ja, aber nicht die Technik. Guck mal unter Module 4.4., ich glaube, da gab es ein Stylesheet-Change-Modul.
Ansonsten würde ich statt des <link> usw. ins Layout einen Container setzen und ein entsprechendes Modul programmieren (Eingabe: Konfiguration, Ausgabe: gibt <link> mit dem gewählten Stylesheet aus).
Bin mir gerade nicht sicher, ob das geht, da der Container außerhalb des <body>-tags liegen würde, aber das würde ich mal ausprobieren.
Gruß
HerrB
Verfasst: Mi 27. Jul 2005, 16:03
von JuePoe
HerrB hat geschrieben:Ja, aber nicht die Technik. Guck mal unter Module 4.4., ich glaube, da gab es ein Stylesheet-Change-Modul.
...
Bin mir gerade nicht sicher, ob das geht, da der Container außerhalb des <body>-tags liegen würde, aber das würde ich mal ausprobieren.
Den Stylesheet Switcher habe ich gesehen. Ich brauche aber die gleiche Variable an mehreren Stellen und möchte sie nur einmal (pro Seite) auswählen lassen.
- ja, man kann einen Container auch im Kopfbereich einbinden.
Grüße
Jürgen
Verfasst: Mi 27. Jul 2005, 18:08
von HerrB
Na, dann hast Du eine Lösung, odrrr?
Gruß
HerrB
Verfasst: Mi 27. Jul 2005, 20:52
von HerrB
Sofern Du Unterstützung brauchst, einfach posten...
Gruß
HerrB
Verfasst: Mi 3. Aug 2005, 13:43
von busi
hallo JuePoe
meinst du sowas in der richtung wie bei
http://www.mannoni.ch 
Verfasst: Mi 3. Aug 2005, 13:48
von i-fekt
Wenn du sowas suchst, das würde ich mit PHP direkt im HTML per ifelse Abfrage lösen. So habe ich es gemacht, klappt prima.
Verfasst: Fr 5. Aug 2005, 14:09
von JuePoe
i-fekt hat geschrieben:Wenn du sowas suchst, das würde ich mit PHP direkt im HTML per ifelse Abfrage lösen. So habe ich es gemacht, klappt prima.
Ich denke, es ist ein Modul notwendig, denn der Benutzer soll ja wählen können,welche Elemente über die Variable eingelesen werden sollen. Zum Modul-Programmieren reicht mein PHP-Wissen nicht aus. Trotzdem Danke.
Verfasst: Fr 5. Aug 2005, 14:37
von busi
Also, meine Version kommt mit drei Zeilen PHP-Code im Layout und verschiedenen CSS-Files aus und funktioniert wunderbar.
Verfasst: Mo 15. Aug 2005, 15:19
von JuePoe
busi hat geschrieben:Also, meine Version kommt mit drei Zeilen PHP-Code im Layout und verschiedenen CSS-Files aus und funktioniert wunderbar.
Also vielleicht sind deine 3 Zeilen genau das, was ich suche.
Teilst du mit uns deinen Code?
Verfasst: Mi 24. Aug 2005, 19:05
von busi
sorry für die verspätung... hatte ein paar hochwasser probleme um die ich mich kümmern musste....
also hier der code. sind doch ein zwei zeilen mehr geworden...
1. muss als erster eintrag im layout drin sein
2. im head einfügen
Code: Alles auswählen
<?php
$cssStil = array(1 =>'css/template_2.css',2 =>'css/template_2_1.css',3 =>'css/03.css');
if (!empty($_REQUEST['style'])) $_SESSION['style'] = $_REQUEST['style'];
if (empty($_SESSION['style'])) $_SESSION['style'] = 1;
$stil = $cssStil["{$_SESSION['style']}"];
echo "<link rel=\"stylesheet\" href=\"$stil\" type=\"text/css\">";
?>
3. link im layout einfügen. wichtig ist hier der eintrag "style=" welcher dann das entsprechende css file anspricht. in meinem fall die files
template_2.css und
template_2_1.css.
Code: Alles auswählen
front_content.php?idcat=$idcat&idart=$idart&lang=$lang&style=2
4. css files erstellen
hoffe, dass hilft dir weiter
Verfasst: Sa 17. Feb 2007, 13:26
von JuePoe
Ich habe inzwischen die Antwort auf meine Frage. Inzwischen ist mir klar geworden, dass ich nach der Variable in einem Modul fragen wollte.
Also:
Variable eintragen: CMS_VAR[x]
Variable auslesen: CMS_VALUE[x]
Danke für eure Bemühungen.
Verfasst: Sa 17. Feb 2007, 18:50
von HerrB
Das ist doch mal nett: Eine Rückmeldung nach über einem Jahr... goil.
Gruß
HerrB