Joomla - Content verbreitern, wenn eine Position nicht aktiviert ist
Oft ist es der Fall, dass man den Content über die volle Breite seiner Seite anzeigen möchte, wenn z.B das rechte menü deaktiviert ist. Der Content hat hierbei eine fixe Breite von 600px. Nun möchte man allerdings, dass die rechte Navigation bei einem Menüpunkt ausgeblendet ist und der Content ( Inhalt ) sich auf 800px verbreitert. Sicherlich könnte man das auch mit Prozent Angaben lösen, jedoch gibt es hier einige Schwierigkeiten bei der Umsetzung und der darstellung in Browsern.
Wir werden also unserem Template sagen, gebe dem Content eine Breite von 800px, wenn die rechte Postition aktiviert ist, gebe dem Content eine breite von 600px.
Der Code Schnippsel
Um es so einfach wie möglich zu halten, erstellen wir einen DIV Container mit der Class “colfull” worin unser Content geladen wird.
Danach fügen wir die Eigenschaften für unseren DIV Container in die CSS Datei ein.
div.colfull { width:800px; }
Unser Content hat jetzt eine Breite von 800px. Nun möchten wir sagen, wenn das rechte Modul aktiviert ist, ändere die Class von colfull auf nocolfull. Dies machen wir über einen einfach aber effektiven PHP Code. Wir gehen zurück zu unserem HTML Code und fügen folgenden PHP Code ein.
Was macht dieser PHP Code? Nun, wer ein wenig Englisch kann wird es sicherlich erraten. Wir sagen “Wenn das Modul auf der Position rechts aktiviert ist, dann gebe den Text no aus”. Da dieser Text in der Class steht bekommt das DIV nun die Class “nocolfull” anstatt wie vorher “colfull“. Das war es schon fast. Nun müssen wir in unser CSS Datei noch die Class nocollfull definieren:
/* Die Breite, wenn kein Modul auf der rechten Position aktiviert ist */ div.colfull { width:800px; } /* Die Breite, wenn ein Modul auf der rechten Position aktiviert ist */ div.nocolfull { width:600px; }
Ich hoffe ich konnte euch wieder ein wenig mehr über Joomla beibringen. Falls Ihr unsere Artikel gut findet, abonniert doch bitte unseren kostenlosen RSS Feed. So werdet Ihr immer benachrichtigt, wenn ein neuer Artikel veröfentlicht wurde.
Bloggerschmidt (6 comments)
Danke für den guten Tipp. Eine weitere - vielleicht besser lesbare - Version ist
countModules(‘right’)) ? (‘nocolfull’) : (‘colfull’); ?_>
(alle Unterstriche _ wegdenken)
Christopher Dosin (83 comments)
@Bloggerschmidt: ich kann nicht ganz folgen
Paste den Code vielleicht mal auf http://nopaste.info/ den du meinst, dann werde ich mal schauen
JamFX (1 comments)
Ein genialer Tipp! Oft hab ich das Problem, dass ich den Inhaltsblock (wenn kein Modul aktiviert ist) voll verbreitert möchte. Wenn das so klappt wär das echt klasse! Bin gespannt…
Christopher Dosin (83 comments)
Das freut mich
Der Code Schnippsel sollte funktionieren
Bloggerschmidt (6 comments)
Mein Fehler. Im Kommentar sollte man einfach kein Code posten. So habe ich das eigentlich gemeint: http://nopaste.info/dd46221727.html
Christopher Dosin (83 comments)
Sobald ich umgezogen bin und wieder Internet habe, werde ich mir das mal flott anschauen. Kann man ja evtl. mit in den Artikel reinnehmen deinen Tip
Martin (4 comments)
funktioniert leider nicht
Christopher Dosin (83 comments)
Hast du ein Joomla 1.5 oder 1.0 Template?