Noobfrage: Wie den Anmeldeblock verändern?
am 25.09.2007 - 22:42 Uhr in
Ich komme vom unsäglichen Joomla zu Drupal und bin bisher begeistert. Ich erstelle seit Jahren Webseiten, aber was Drupal an möglichkeiten mitbringt und das geniale Modulsystem hauen mich echt um.
Jetzt habe ich mich endlich ans theming gemacht und die ersten Hürden sind schon überstanden. Also im Grund funzt alles, aber ich glaube ich habe an ein paar Stellen nicht kapiert wie Drupal sich das vorstellt.
Konkretes Beispiel: ich habe ein einspaltiges Design, der Anmeldeblock muß also entweder in den Fuß- oder in den Kopfbereich. Dort darf er nicht viel Platz wegnehmen, am besten passt alles in eine Zeile.
Leider kann ich um den Output von Drupal nicht einfach CSS herumbasteln um alles zu positionieren, denn der Output sieht ja so aus:
<div class="form-item">
<label for="edit-name">Benutzername: <span class="form-required" title="Dieses Feld wird benötigt.">*</span></label>
<input maxlength="60" name="name" id="edit-name" size="15" value="" class="form-text required" type="text">
</div>
<div class="form-item">
<label for="edit-pass">Passwort: <span class="form-required" title="Dieses Feld wird benötigt.">*</span></label>
<input name="pass" id="edit-pass" maxlength="60" size="15" class="form-text required" type="password">
</div>
<input name="op" id="edit-submit" value="Anmelden" class="form-submit" type="submit">
<div class="item-list"><ul><li><a href="/drupal/user/register" title="Ein neues Benutzerkonto erstellen.">Registrieren</a></li><li><a href="/drupal/user/password" title="Ein neues Passwort per E-Mail anfordern.">Neues Passwort anfordern</a></li></ul></div><input name="form_id" id="edit-user-login-block" value="user_login_block" type="hidden">
</div>Da den entscheidenden DIVs eine ID fehlt, kann ich da nix dran machen.
Also wie ist der Drupalweg für so eine Aufgabe?
Oder anders gefragt, wo nimmt
<?php print $block->content ?> den HTML Code für den Anmeldeblock her?
ein schlichtes RTFM mit Link würde mir auch reichen, aber eine Erklärung wie der Drupalweg für solche Aufgaben ist, wäre natürlich total super :)
Grüße
poilf
- Anmelden oder Registrieren um Kommentare zu schreiben

Login-Bar
am 25.09.2007 - 23:12 Uhr
Ein fertige Beschreibung wie man sich eine platzsparende 'Login-Bar' bastelt, gibt es unter http://drupal.org/node/92657 .
Ansonsten generiert Drupal den HTML-Code für solche Dinge normalerweise in den theme()-Funktionen. Wenn Du den Drupal Code durchschaust, wirst Du zig Funktionen finden, die mit theme_ beginnen. Diese Funktionen kannst Du in der Datei template.php Deines Themes überschreiben (http://drupal.org/node/11811). Mit dem Login-Block in D5 geht das leider (noch) nicht. Mit Drupal 6 kommen in diesem Bereich aber viele Verbesserungen.
Eine allgemeine deutschsprachige Einführung in das Theming mit Drupal gibts unter http://www.drupalcenter.de/handbuch/4217. Alles was es zu diesem Thema gibt, findest Du unter http://drupal.org/theme-guide.
Willkommen beim Theming
am 26.09.2007 - 02:23 Uhr
Wenn Du den Login-Block einzeilig haben moechtest kannst Du ein Template fuer den Block erstellen.
http://www.drupalcenter.de/faq/5149
Wenn Du diesen Block dann noch an eine ganz bestimmte Stelle in das Layout Deines Themes haben willst ist
Regionen
das Stichwort. Definiere Dir eine Region an die passende Stelle des Themelayout und lade dort Dein Userlogin. Das Thema Regionen (own regions) ist hinreichend dokumentiert.
Wenn Du theme Funktionen (function theme_bla_bla) im Code von Drupal suchst liefert oft die URL bei der Administration Hinweise auf das in Frage kommende Modul. Bei Bloecken (nicht nur) geben auch die div Klassen und ID's Hinweise auf verwendete Module.
Wenn ich ein mir neues Modul installiere schaue ich inzwischen oft als Erstes in der bla.module nach den verfuegbaren theme Funktionen. Da weiss man gleich was man hat. ;-)
Willkommen beim Theming von Drupal. Theming macht Spass.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Danke!
am 26.09.2007 - 06:43 Uhr
Ansonsten generiert Drupal den HTML-Code für solche Dinge normalerweise in den theme()-Funktionen. Wenn Du den Drupal Code durchschaust, wirst Du zig Funktionen finden, die mit theme_ beginnen. Diese Funktionen kannst Du in der Datei template.php Deines Themes überschreiben (http://drupal.org/node/11811).
Ah, das ist also der Drupal Weg für solche Dinge, vielen Dank!
Danke auch für die URLs wegen dem Loginteil speziell, theming in Drupal macht wirklich spaß.