Eigenes Theme - unterschiedliche CSS-Dateien
am 30.06.2007 - 19:57 Uhr in
Einleitung
Ich bin zwar noch ganz frisch bei Drupal,
aber möchte mich jetzt schon an ein eigenes Theme machen,
weil keins der vorhandenen meinen Wünschen entspricht.
HTML- und CSS-Erfahrung vorhanden, von PHP verstehe ich allerdings null.
Wenn ich das richtig verstanden habe,
baue ich einfach eine Grundstruktur der Website,
und setze dann diese kleinen PHP-Code-Schnipsel ein.
Dadurch weiß Drupal dann, in welchem div was erscheinen soll (zB der Body, die linke Spalte, der Header, usw.)
(sehe ich das so richtig?)
Nun stehe ich in der Theorie aber vor einem Problem:
Ich möchte den Aufbau einiger Unterseiten anders aufbauen,
als die restlichen Seiten der Website.
Beispiel / Problem:
fast alle Unterseiten sollen aus zwei Spalten (50% / 50% breit) bestehen.
Die eine Spalte ist der Content-Bereich, die andere die rechte Spalte.
Nun will ich bei einer Unterseite (eine Tabelle, die das Modul Views generiert) allerdings keine rechte Spalte haben.
Wenn ich das nun bei Drupal im Adminbereich einstellen würde (geht bestimmt, hab ich aber noch nicht getestet), dann wird diese Spalte zwar nicht angezeigt,
aber der Inhaltsbereich springt nicht auf 100% Breite, sondern bleibt bei 50%.
Lösung?
Ich müsste für diese eine Seite, die das Views-Modul generiert, eine eigene CSS-Datei haben. Wie geht das?
Oder kann ich eine Template-Datei speziell für diese Unterseite erstellen?
Da kann ich dann ja im Head-Bereich angeben, welches CSS er laden soll
bzw. mit zusätzlichen Klassen/IDs arbeiten und nur eine CSS-Datei verwenden (schönere Variante).
- Anmelden oder Registrieren um Kommentare zu schreiben
Ein Schritt weiter?
am 01.07.2007 - 15:55 Uhr
So, jetzt bin ich soweit, dass ich dem
<body>
einfach nur eine (von 2 möglichen)id
zuweisen muss, damit sich das Layout wie gewünscht ändert.Kann ich das Drupal nun irgendwie verclickern,
dass es bei manchen Nodes
id="layouteins"
und bei anderen Nodesid="layoutzwei"
dem<body>
zuweisen soll?ich denke, das geht auch
am 01.07.2007 - 16:35 Uhr
ich denke, das geht auch ohne zwei css dateien. Einfach ein if Schleife ins template bauen, welche überprüft, ob ein Block gesetzt ist (rechte Spalte) oder nicht. Falls der rechte Block nicht da ist, würde dann auch die mittlere Spalte auf 100% gehen.
___________________________
it's easier than you think
Raphael Schär
http://www.schaerwebdesign.ch
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
rapsli wrote:
am 01.07.2007 - 17:02 Uhr
ich denke, das geht auch ohne zwei css dateien.
Hab ich ja auch mit nur einer CSS-Datei umgesetzt (siehe zweiten Post).
Einfach ein if Schleife ins template bauen, welche überprüft, ob ein Block gesetzt ist (rechte Spalte) oder nicht. Falls der rechte Block nicht da ist, würde dann auch die mittlere Spalte auf 100% gehen.
Angenommen, ich kriege eine solche if-schleife hin (... keine Ahnung?!) ... dann ändert sich aber doch die Größe der mittleren Spalte nicht, es sei denn, das bau ich auch irgendwie (keine Ahnung?!) ein, oder?
Habe dem content-Bereich ja in der CSS-Datei eine width zugeordnet.
Kann man das nicht wie im 2. Post gewünscht hinkriegen?
Bei manchen Nodes die eine, bei anderen Nodes die andere id im body-tag?