Theming in Drupal die Qual für einen Neueinsteiger
am 17.09.2008 - 09:57 Uhr in
Hallo,
ich bin recht neu bei Drupal und bin Webdeveloper. Sonst hab ich mir immer gedacht fertige CMS sind für mich und meine Kunden eine Qual, nun wollte ich mal Drupal ausprobieren bei einem neuen Projekt und scheitere total beim Themen. Das Grobe aussehen der Seite kein Problem, das steht so weit ist auch in Ordnung!
Nur habe ich große Probleme bei fast allen kleinigkeiten! Drupal macht soviele für mich sinnlose CSS Klassen das das ganze schon überläuft. Es wird so gut wie gar nichts logisch Strukturiert. Jeder Block bekommt ein div mit der class content. schön ist das nicht und habe da durch meine eigenständige Programmierung viel bessere Erfahrungen gemacht, zwar ist da der Zeitaufwand größer in der Programmierung aber hinterher das CSS ging wesentlich schneller!
Wie kann ich das nun bei Drupal anpacken das das Theming vernünftig wird ohne große Überladungen. Wie soll man das am besten machen?
Die Dokus sind nich wirklich das was man bei nem CMS erwartet!
Man hat auf die Ausgabe meiner Meinung kaum eine Kontrolle! Der Quelltext steigt mal ebend ins Unermessliche. Fast 3x soviel code und div verschachtelung als bei meiner eigenen Programmierung kann doch gar nicht sein!
- Anmelden oder Registrieren um Kommentare zu schreiben
Wenn du tiefer in die
am 17.09.2008 - 10:35 Uhr
Wenn du tiefer in die Thematik des Themings bei Drupal einsteigst, wirst du sehen, dass du in der Regel alle Ausgaben auch auf Markup-Ebene anpassen kannst. Der Aufwand steigt dann natürlich.
Als Webdeveloper sollte dir klar sein, dass das ganze Markup schlichtweg dazu dient, ein hohes Maß an Flexibilität zu bieten, um rein mit CSS und ohne Markup-Anpassungen arbeiten zu können. Was du an IDs und Klassen nicht benötigst, musst du ja auch nicht in deinen Stylesheets berücksichtigen.
Kein CMS der Welt wird deine Gedanken lesen können und sich denken, "Ach, das kann ich weglassen, das braucht er für seine speziellen Anwendungsfall nicht.". Generalisierung ist in der Entwicklung praktisch immer mit Bloat verbunden, aber das ist dir als Entwickler sicher bekannt.
--
Webseiter
jo das ist mir schon
am 17.09.2008 - 10:53 Uhr
jo das ist mir schon klar.
Aber es ist schon nicht schön wenn ich sehe wenn ich mir nen Block anlege wo ich zum beispeil Randome-Bild in den Header einbaue wo alleine ein einziger Image-Tag mit 2 Divs umlegt wird ist nicht wirklich das was man da haben will.
Ist es sinnig, wenn man da ein block-template zu schreiben oder wäre da auch wieder der Aufwand zu groß im Zeit/Nutzen verhältnis?
ps: gibt es eine Pfad-Variable gerade bei der Bilderfunktion die ich oben beschrieben habe? Kann sie nun zwar auf der Hauptseite sehen aber bei unterseiten geht es nicht wegen dem / bei content z.B.
Hallo, schau dir doch mal
am 17.09.2008 - 11:17 Uhr
Hallo,
schau dir doch mal die Theming Guide an, das wird dir bestimmt helfen:
http://drupal.org/theme-guide
Und ob du einen Block änderst oder nicht, musst einfach du entscheiden. Guck in die Guide und du wirst sehen, das es sehr leicht ist ein template zu erstellen.
---
Viele Grüße,
Kars-T
Arbeit: comm-press
Hobbies: Tower Defense HQ, plamo.de, Blog
Also das Theme steht ja
am 17.09.2008 - 11:55 Uhr
Also das Theme steht ja schon find es halt nur mega überladen und wollte wissen ob man diese Überladung mithilfe von Block Templates weg machen kann. Habe dies bis jetzt noch nicht geschafft! Template steht ja soweit das ist ja nicht wirklich ein großes Problem!
Und so nebenbei find ich das Theme Guide von Drupal mehr schlecht als recht. Habs zwar schon durchgelesen war aber im grunde genauso schlau wie vorher
Ich finde ja auch, das
am 17.09.2008 - 12:00 Uhr
Ich finde ja auch, das Drupal nicht so recht vorteilhaft dokumentiert ist, bis gar nicht.
Aber ich kenne kein CMS, das so gutes HTML und CSS vom Kern aus produziert und welches ich so leicht in jeder Weise anpassen kann.
Mach dir doch einfach mal ein block.tpl.php und probier aus was geht. Das wird Monate dauern, bis du das alles drauf hast, aber dann ist es auch irgendwann einfach leicht.
Ich weiß grad nicht warum, wo oder wann mehrere div um Bilder sind. Ein Block besteht im Allgemeinen aus sinnvollen divs und bei Views und CCK kann ich mich an nichts komisches erinnern.
Und was soll's mit ein paar byte mehr im Source. Wenn du schnell sein willst, kümmere dich doch nicht um die Klassen und HTML Teile und nutze was du hast.
Und wenn wir schon dabei sind: Welches CMS macht das denn besser als Drupal mit seiner flexibilität?
Schau dir doch mal TypoLight an, das soll auch ganz toll sein und liegt dir vielleicht besser.
---
Viele Grüße,
Kars-T
Arbeit: comm-press
Hobbies: Tower Defense HQ, plamo.de, Blog
Kars-T schrieb Schau dir
am 17.09.2008 - 12:12 Uhr
Schau dir doch mal TypoLight an, das soll auch ganz toll sein und liegt dir vielleicht besser.
Welches CMS behauptet das nicht von sich? ;-)
--
Webseiter
Der Rasen grünt beim
am 17.09.2008 - 12:29 Uhr
Der Rasen grünt beim Nachbarn immer grüner. ;)
Aber ich glaube diese Probleme hier haben mehr mit persönlicher Überzeugung zutun und wenn einem ein anderes Konzept einfach mehr liegt, ist es doch auch in Ordnung :)
---
Viele Grüße,
Kars-T
Arbeit: comm-press
Hobbies: Tower Defense HQ, plamo.de, Blog
ist ja nicht so das ich
am 17.09.2008 - 12:56 Uhr
ist ja nicht so das ich drupal nicht zu schätzen wisse!
Habe schon mit Typo3 und Joomla gearbeitet sowie mit meiner eigenen Programmierung.
Allein bei Typo3 vergehen mindestens stunden bis man irgendetwas produktives damit angestellt hat! Bei Joomla wars schon um einiges besser aber auch noch nicht wirklich das Wahre.
Bei Drupal hat es 15 minuten gedauert bis ich es installiert hatte und meinen Content hinzugefügt hatte und nen Menü hatte usw. das hat bis jetzt bei mir noch kein anderes System hinbekommen!
was ich halt nich optimal finde ist das drupal soviele divs bastelt die eigentlich nicht nötig sind, heißt das die im code nicht wirklich gebraucht werden würden (wie ich es wohl im moment sehe)
Beispiel:
<div id="contentHeader">
<div id="block-block-2" class="block block-block">
<div class="content">
<img width="480" height="160" src="random/10.JPG" />
</div>
</div>
</div>
das find ich ein wenig übertrieben vorallem das fast jedes element min. 2 class eigenschaften hat ist bissle krass meiner meinung nach! Und dann halt auch noch so komische Namen. Wie hier in dem Fall class="block block-block", da denk ich mir hä!? Das ding heißt doch schon block und dann nenn ich es nochmal block-block oO raff ich nicht so ganz!
bei mir würd das einfach so aussehen:
<div id="contentHeader">
<img width="480" height="160" src="random/10.JPG" />
</div>
was meiner meinung nach auch erheblich an code und natürlich an KBs spart! (ja die KBs sind wichtig wenn man es auf mehrere tausend Nutzer hochrechnet!)
Viele Klassennamen werden
am 17.09.2008 - 13:05 Uhr
Viele Klassennamen werden dynamisch aus dem Kontext und den Titel und IDs von Nodes, Blöcken, Menüpunkten, etc. erzeugt.
Wer ein paar tausend Nutzer hat, sollte auch die Ressourcen haben sich tieferschürfend mit dem System auseinanderzusetzen und es zu customizen. Abgesehen davon kommt Optimierung abseits von Datenstrukturen und Algorithmen ganz zum Schluss eines Entwicklungsprozesses. Zunächst einmal muss etwas funktionieren und dann kann man sich, wenn sich die Notwendigkeit ergibt, optimieren.
If it ain't broke, don't fix it.
Letzten Endes geht es darum schnell produktiv zu sein. Wer darüber hinaus noch kreativ und selbverwirklichend tätig sein will, muss eben mehr Zeit und Hirnschmalz investieren. Drupal macht dahingehend keine EInschränkung und lässt jeden zum Zuge kommen, wie er möchte.
Mit einem Minimal Markup Approach würden wir an dieser Stelle nun mit wem anderes die Diskussion führen, warum das Markup nicht flexibler gestaltet ist. ;-)
--
Webseiter
Eine sache habe ich noch,
am 17.09.2008 - 13:42 Uhr
Eine sache habe ich noch, gibt es ein gutes Buch das man mit empfehlen kann (vorzugsweise auf deutsch, aber englisch geht auch) zur Entwicklung von eigenen Drupal Modulen?
mRs schrieb i was ich halt
am 17.09.2008 - 15:46 Uhr
i
was ich halt nich optimal finde ist das drupal soviele divs bastelt die eigentlich nicht nötig sind, heißt das die im code nicht wirklich gebraucht werden würden (wie ich es wohl im moment sehe)
Beispiel:
<div id="contentHeader">
<div id="block-block-2" class="block block-block">
<div class="content">
<img width="480" height="160" src="random/10.JPG" />
</div>
</div>
</div>
das find ich ein wenig übertrieben vorallem das fast jedes element min. 2 class eigenschaften hat ist bissle krass meiner meinung nach! Und dann halt auch noch so komische Namen. Wie hier in dem Fall class="block block-block", da denk ich mir hä!? Das ding heißt doch schon block und dann nenn ich es nochmal block-block oO raff ich nicht so ganz!
bei mir würd das einfach so aussehen:
<div id="contentHeader">
<img width="480" height="160" src="random/10.JPG" />
</div>
was meiner meinung nach auch erheblich an code und natürlich an KBs spart! (ja die KBs sind wichtig wenn man es auf mehrere tausend Nutzer hochrechnet!)
Was du bei dem Beispiel nicht berücksichtigt, ist die Tatsache, das die DIVs für dich überflüssig sind, weil du nur einen Block nur mit Content in einer Region hast. Andere Leute haben mehrere Blöcke mit Überschriften und Content in einer Region und wollen die Sachen unterschiedlich per CSS gestalten.
Und im Gegensatz zu Bandbreite ist CPU-Zeit meistens teurer. Das heißt, es wäre teurer festzustellen, ob die DIVs im Einzelfall gebraucht werden, als sie immer auszugeben.
Ansonsten braucht man nach meinem Gefühl durchaus Zeit bis man durch das Theming von Drupal durchgestiegen ist. Irgendwann weiß man, warum an manchen Stellen was steht :)