Output kontrolle für Module

am 28.07.2008 - 22:30 Uhr in
Guten Abend,
ich bin ganz neu in Sachen Drupal und möchte mir jetzt endlich auch mal die Zeit nehmen, selbiges ausgiebig zu testen.
Mich hat bislang immer abgeschreckt, das gebe ich zu, dass sich nach einem LogIn das Adminmenü mit dem sogenannten "FrontEnd" komplett vermischt. Möglicher Weise aber hat das ja auch seine Berechtigung, vielleicht gerade dann, wenn es um eine flexible Rechtevergabe gehen soll. Ein Umsortieren der Menüpunkte bringt mir hier den gewünschten Überblick. Das auch nur nebenbei.
Was für mich sehr wichtig ist, ist die volle Kontrolle über den HTML-Output zu haben. Hier scheint es allerdings Einschränkungen zu geben, wenn ich alles richtig verstanden habe.
Präzise:
Ich möchte z.B. der Loginbox oder vielleicht dem Suchformular mein eigenes HTML zuweisen. Ohne diese Freiheit ist ein CMS für mich vollkommen wertlos. Hierzu habe ich auch durchaus einige Anhaltspunkte in den FAQ´s und bei drupal.org gefunden. Aber ehrlich gesagt, verstehe ich kein Wort davon.
Meine Frage also: Ginge das grundsätzlich? Und ich will ja lernen, aber was müßte ich dann lernen?
Vielen Dank
beste Grüße aus NRW/Lippe
- Anmelden oder Registrieren um Kommentare zu schreiben
Umdenken
am 29.07.2008 - 11:15 Uhr
Umdenken ist ziemlich nötig bei der ersten Annäherung an Drupal. Es tickt in einigen Punkten wirklich ganz anders. Kolleginnen von Dir haben diesen Überblick auf die Drupal-Administration ganz nützlich gefunden; ich schlage Dir dies darum auch einmal zur Ansicht vor. Es geht darin u. a. um die Frage, wo denn in Drupal das Backend sei, während man (viel berechtigter) eigtl. bei den anderen WCMS'e auch umgekehrt fragen könnte: warum gibt es überhaupt ein "Backend"? Wo bin ich denn da überhaupt? Umd warum sieht da jetzt alles ganz anders aus?? - Betrachte diese Frage mal nicht unter dem Gesichtspunkt der Gewöhnung, sondern unter dem der Usability ;-)
Überraschend bei Drupal ist nicht nur der (auch bei den Community-Modulen!) durchgängig standardkonforme XHTML-Output (deswegen und auch wegen der nicht nur für den Drupal-Kern, sondern auch bei den Modulen üblichen GPL fiel vor ca. eineinhalb Jahren meine Wahl auf Drupal), sondern auch die Tatsache, dass ein höchst überdurchschnittliches, modulares Software-Design dazu führt, dass Du jedes Byte XHTML-Output "überschreiben" kannst, sprich: Du kannst nicht nur, Du sollst das sogar, dies wird als "Best Practice" bei Drupal-Entwicklern und -Themern betrachtet. Der Drupal-Quellcode muss nicht angerührt werden, wenn man etwas Eigenes, Spektakuläres will, sondern Du musst nur jene berühmten Hook-Funktionen und -Templates verwenden, die alle Drupal-Enthusiasten so lieben gelernt haben. Was das Drupal-Theming betrifft, so gilt dieser sicher Dein gesteigerteres Intersse, daher an dieser Stelle einer der vielen möglichen Links: http://drupal.org/theme-guide
Updaten unter Drupal ist daher ein ganz anderer Spaß als in den üblicherweise gepatchten CMS'en der letzten Generation, wo Patches auf den Quellcode mitunter als "Mods" bezeichnet werden und jedes Update ein Horror ist, weil alle Deine Anpassungen nachgepatcht werden müssen :))
Drupal ist ein Dorado für Entwickler und Designer; Endnutzer sind zuweilen etwas hilflos und fragen zum Beispiel: "Wo kann ich denn jetzt hier Inhalt schreiben" und "Wo ist denn das Backend" ... :)) - Aber Usability "for the mass" wird wohl mit Drupal 7 ein großes Thema werden. Für Design-Agenturen hingegen gibt es wenig Flexibleres im Verhältnis zum Arbeitsaufwand. Und genau: Lernwille vorausgesetzt.
Viel Spaß also mit Drupal!
EDIT: Das Login-Theming in-the-deep lässt sich problemlos über hook_form_alter() realisieren (falls CSS nicht ausreicht); wie das Login aber überhaupt gebildet wird, siehst Du in der Drupal-Funktion user_login().
Ich möchte z.B. der Loginbox oder vielleicht dem Suchformular mein eigenes HTML zuweisen. Ohne diese Freiheit ist ein CMS für mich vollkommen wertlos.
Dieser Artikel hilft Dir sicher weiter. Du kannst (u. a.) in Drupal jedes Formular anpassen, und dies, wie gesagt, ohne Quellcode anzufassen.
Jetzt bin ich ja regelrecht
am 29.07.2008 - 19:13 Uhr
Jetzt bin ich ja regelrecht begeistert. Also vielen Dank für die wirklich sehr ausführliche Antwort. Die ganze Mühe extra für mich ;-)
Die Artikel helfen mir ganz sicherlich weiter. Wichtig war für mich erstmal zu wissen, ob die vollständige Kontrolle überhaupt möglich ist. So wie es ausschaut, sind die Möglichkeiten gar nicht so begrenzt, wie auf den ersten Blick befürchtet.
Mit der Bedienung des CMS ansich habe ich komischer Weise überhaupt keine Probleme und dieser von mir angesprochene "vermischte" Front-/Backend-Bereich wird für mein nächstes Projekt von Vorteil sein, denke ich. Es geht um eine etwas komplexere Userdatenbank mit verschiedenen Rollen. Hierfür bietet sich Drupal ja förmlich an.
ohne Core-Code anzufassen
am 30.07.2008 - 03:14 Uhr
und dies, wie gesagt, ohne Quellcode anzufassen.
ohne Core-Code anzufassen
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
theme_ Funktionen
am 30.07.2008 - 07:42 Uhr
Jedes einigermaßen gut programmierte Modul kapselt die Visualisierungen in
Funktionen, die mit theme_ anfangen.
Die kannst Du einfahc überschreiben, indem Du das "theme" durch deine Theme-Engine ersetzt.
Konkret kopier einfach die Funktion aus dem Modul, dann hast Du auch alle Paramerter richtig und so,
und benenne Sie wie oben beschrieben um. Jetzt kannst Du den Output selbst definieren.
Viele Grüße,
www.maximago.de
Auswahl der Module
am 30.07.2008 - 07:43 Uhr
Noch was: Das vorhandensein von theme_ FUnktionen ist übrigens auch ein Auswahlkriterium für uns für Module.
Weil das ist unendlich viel OpenSource-Schrott an Modulen unterwegs :-(
Viele Grüße,
www.maximago.de