Dynamisch css-Klasse für body-Tag vergeben
Dynamisch css-Klasse für body-Tag vergeben
Im HTML-Code von anderen CMS habe ich gesehen, dass dem Body-Tag je nach Seite unterschiedliche css-Klassen hinzugefügt werden. Sowas hätte ich gerne auch in meinem Contenido. Am besten einfach den Name des gerade verwendeten Templates. Das würde mir das Handling mit der css-Datei sehr vereinfachen.
Jetzt ist das natürlich möglich, ich muss nur für jedes Template ein eigenes Layout anlegen. Aber das ist ja nicht Sinn der Übung (bzw. des Konzepts des CMS).
Man könnte auch das öffnende body-Tag durch einen Container ersetzten und diesen durch ein Modul dynamisch befüllen. Dann bekomme ich »Stress« beim Abspeichern des Layouts, weil das (ausgeschriebene) body-Tag fehlt.
Hatte sonst schon mal jemand dieses Problem und ne praktikable Lösung dafür gefunden?
Für Ideen dankbar grüßt
Bodil
Jetzt ist das natürlich möglich, ich muss nur für jedes Template ein eigenes Layout anlegen. Aber das ist ja nicht Sinn der Übung (bzw. des Konzepts des CMS).
Man könnte auch das öffnende body-Tag durch einen Container ersetzten und diesen durch ein Modul dynamisch befüllen. Dann bekomme ich »Stress« beim Abspeichern des Layouts, weil das (ausgeschriebene) body-Tag fehlt.
Hatte sonst schon mal jemand dieses Problem und ne praktikable Lösung dafür gefunden?
Für Ideen dankbar grüßt
Bodil
Re: Dynamisch css-Klasse für body-Tag vergeben
Hallo bodil,
du bist der Lösung schon so nahe, schaust aber daran vorbei.
Der Container muss nicht das body-Anfangstag ersetzen, sondern nur den Namen der Klasse:(vorausgesetzt dein Modul heißt "BodyClass" und ist vom Typ "Style")
Gruß
René
du bist der Lösung schon so nahe, schaust aber daran vorbei.
Der Container muss nicht das body-Anfangstag ersetzen, sondern nur den Namen der Klasse:
Code: Alles auswählen
<body class="<container id="11" types="Style" mode="fixed" name="BodyClass" default="BodyClass">BodyClass</container>">
Gruß
René
Re: Dynamisch css-Klasse für body-Tag vergeben
Hi René!
Vielen Dank für diesen Vorschlag! Probiere ich gleich aus.
Hätte ich vielleicht auch gleich gemacht, aber ich meinte mich von früheren Contenido-Versionen daran erinnern zu können, dass irgendwas anderes zickt, wenn das Container-Tag nicht alleine in der Zeile (oder zumindest am Anfang der Zeile) steht.
Dank und Gruß!
Bodil
Vielen Dank für diesen Vorschlag! Probiere ich gleich aus.
Hätte ich vielleicht auch gleich gemacht, aber ich meinte mich von früheren Contenido-Versionen daran erinnern zu können, dass irgendwas anderes zickt, wenn das Container-Tag nicht alleine in der Zeile (oder zumindest am Anfang der Zeile) steht.
Dank und Gruß!
Bodil
Re: Dynamisch css-Klasse für body-Tag vergeben
Nein, da gibt es keine Probleme, nur muss das komplette container-Tag in eine Zeile stehen (also keine Umbrüche innerhalb des Tags).
Gruß
René
Gruß
René
Re: Dynamisch css-Klasse für body-Tag vergeben
@bodil: Du kannst auch den Container so erstellen, dass es gleich den body-Tag ausgibt, anstatt nur den Wert im class-Attribut, wäre auch etwas leserlicher:
Es spricht auch nichts gegen die andere Lösung, die funktioniert auch...
Nachtrag:
Gruß
xmurrix
Code: Alles auswählen
<container id="11" types="Tag" mode="fixed" name="BodyStartTag" default="BodyStartTag">BodyStartTag</container>
Nachtrag:
Die Meldung mit dem fehlenden body-Tag im beim Abspeichern des Layouts kann ignoriert, werden. Das kriegt man auch, wenn man z. B. reine AJAX-Layouts umsetzt, die kein HTML ausgeben. Es ist eher als ein Hinweis zu verstehen!...Man könnte auch das öffnende body-Tag durch einen Container ersetzten und diesen durch ein Modul dynamisch befüllen. Dann bekomme ich »Stress« beim Abspeichern des Layouts, weil das (ausgeschriebene) body-Tag fehlt...
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
Re: Dynamisch css-Klasse für body-Tag vergeben
Moin Murat,
wenn du die Frage genauer ließt, siehst du, dass genau das das Problem ist.
Du solltest nicht nur versuchen meine Antworten zu kommentieren.
Gruß
René
wenn du die Frage genauer ließt, siehst du, dass genau das das Problem ist.
Du solltest nicht nur versuchen meine Antworten zu kommentieren.
Gruß
René
Re: Dynamisch css-Klasse für body-Tag vergeben
Guten Tag,
ich habe gerade versucht, den ersten Codeschnipsel in ein Layout einzubauen:
<body class="<container id="11" types="Style" mode="fixed" name="BodyClass" default="BodyClass">BodyClass</container>">
Zum Einen taucht dann aber im Template gar kein Container 11 auf, zum Anderen kann ich im Modulbereich gar keinen type "Style" anwenden.
Hat eines mit dem anderen zu tun?
Grüße aus Bremen,
Horst
ich habe gerade versucht, den ersten Codeschnipsel in ein Layout einzubauen:
<body class="<container id="11" types="Style" mode="fixed" name="BodyClass" default="BodyClass">BodyClass</container>">
Zum Einen taucht dann aber im Template gar kein Container 11 auf, zum Anderen kann ich im Modulbereich gar keinen type "Style" anwenden.
Hat eines mit dem anderen zu tun?
Grüße aus Bremen,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de
Re: Dynamisch css-Klasse für body-Tag vergeben
Willst du das Modul im Template editieren?Horst1234 hat geschrieben:ich habe gerade versucht, den ersten Codeschnipsel in ein Layout einzubauen:
<body class="<container id="11" types="Style" mode="fixed" name="BodyClass" default="BodyClass">BodyClass</container>">
Zum Einen taucht dann aber im Template gar kein Container 11 auf, zum Anderen kann ich im Modulbereich gar keinen type "Style" anwenden....
Dann mach folgendes:
Im Layout:
Code: Alles auswählen
<container id="11" types="Style" mode="fixed" name="BodyClass" default="BodyClass">BodyClass</container>
<body class="<?php if (!$contenido && !$edit) { echo (isset($bodyClassValue)) ? $bodyClassValue : ''; } ?>">
Code: Alles auswählen
<?php
$bodyClassValue = "CMS_TEXT[1]";
if ($contenido && $edit) {
echo $bodyClassValue;
}
?>
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
Re: Dynamisch css-Klasse für body-Tag vergeben
Hallo Murrix,
danke für die schnelle Antwort, im Template konnte ich das modul einbauen,
aber schon in der Vorkonfiguration tacht es nicht mehr auf ...
Rufe ich die Seite mit dem erneuerten Template auf, finde ich in der Konfiguration den Container nicht, leider habe ich nun im Editor:
Parse error: syntax error, unexpected T_STRING in /usr/www/xyz/contenido/includes/include.con_editcontent.php(634) : eval()'d code on line 203
Grüße aus Bremen,
Horst
p.sp nutze 4.8.18
danke für die schnelle Antwort, im Template konnte ich das modul einbauen,
aber schon in der Vorkonfiguration tacht es nicht mehr auf ...
Rufe ich die Seite mit dem erneuerten Template auf, finde ich in der Konfiguration den Container nicht, leider habe ich nun im Editor:
Parse error: syntax error, unexpected T_STRING in /usr/www/xyz/contenido/includes/include.con_editcontent.php(634) : eval()'d code on line 203
Grüße aus Bremen,
Horst
p.sp nutze 4.8.18
Zuletzt geändert von Horst1234 am Di 5. Nov 2013, 12:29, insgesamt 1-mal geändert.
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de
Re: Dynamisch css-Klasse für body-Tag vergeben
Mein Fehler, es sollte folgendermaßen lauten:
Code: Alles auswählen
<body class="<?php echo (isset($bodyClassValue)) ? $bodyClassValue : ''; ?>">
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
Re: Dynamisch css-Klasse für body-Tag vergeben
Danke Murrix,
klappt perfekt, vielen Dank. Ein kleiner Schönheitsfehler: in der Editoransicht tauchen nun zwei Bearbeitungsbuttons nebeneinander auf,
der zweite davon ist inaktiv, der erste führt zur Eingabe. Gibt es nun noch einen Trick, den Zweiten auszublenden?
By the way: ich arbeite nun seit bestimmt fünf Jahren mit Contenido, habe bestimmt schon drei, vier Dutzend Installationen für Kunden laufen
und bin nicht immer ganz, aber meistens doch sehr zufrieden. Was mich aber echt umhaut, ist dieses Forum: ein ganz, ganz großes Lob
an das Moderatorenteam von Contenido .
Grüße aus Bremen,
Horst
klappt perfekt, vielen Dank. Ein kleiner Schönheitsfehler: in der Editoransicht tauchen nun zwei Bearbeitungsbuttons nebeneinander auf,
der zweite davon ist inaktiv, der erste führt zur Eingabe. Gibt es nun noch einen Trick, den Zweiten auszublenden?
By the way: ich arbeite nun seit bestimmt fünf Jahren mit Contenido, habe bestimmt schon drei, vier Dutzend Installationen für Kunden laufen
und bin nicht immer ganz, aber meistens doch sehr zufrieden. Was mich aber echt umhaut, ist dieses Forum: ein ganz, ganz großes Lob
an das Moderatorenteam von Contenido .
Grüße aus Bremen,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de
Re: Dynamisch css-Klasse für body-Tag vergeben
Gute, immer noch ein Fehler im Beispielccode...
Aber das da sollte endgültig funktionieren:
Aber das da sollte endgültig funktionieren:
Code: Alles auswählen
<body class="<?php if (!$contenido && !$edit) { echo (isset($bodyClassValue)) ? $bodyClassValue : ''; } ?>">
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
Re: Dynamisch css-Klasse für body-Tag vergeben
Danke xmurrix,
nun klappt es perfekt,
Grüße,
Horst
nun klappt es perfekt,
Grüße,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de