Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

Login Block überschreiben

Eingetragen von djdops (30)
am 17.04.2009 - 15:59 Uhr in
  • Themes & Theming
  • Drupal 6.x

Moin an alle,

durch die Suche im Forum weiß ich dass die Thematik den Login Block zu überschreiben schon mehr fach durchgekaut wurde. Aber ich bekomme es einfach nicht hin. Ich bin unter anderem auf diese Threads gestoßen:

http://www.drupalcenter.de/node/5083
http://drupal.org/node/350634
http://drupal.org/node/19855
http://www.nicklewis.org/node/845

Hier mal die Infos und Schritte die ich unternommen habe:

1. Mein Theme heißt "yaml_3col_mks_standard"

2. Folgende zwei Funktionen habe ich in die template.php des Themes eingefügt:

function yaml_3col_mks_standard_theme() {
drupal_set_message('yaml_3col_mks_standard_theme'); # debug output
  return array(
   'user_login' => array(
    'template' => 'user-login',
    'arguments' => array('form' => null),
   )
  );
}

function yaml_3col_mks_standard_preprocess_user_login(&$variables) {
  drupal_set_message('yaml_3col_mks_standard_preprocess_user_login'); # debug output
  $variables['intro_text'] = t('This is my awesome login form');
  $variables['rendered'] = drupal_render($variables['form']);
}

3. Ich habe eine Datei user-login.tpl.php im Theme-Verzeichnis angelegt, und diesen Code eingefügt:

<p><?php print $intro_text; ?></p>

<div class="my-form-wrapper">
  <?php print $rendered; ?>
</div>

4. Ich habe den Cache geleert bzw. neu aufgebaut.

Das Leeren des Caches habe ich auch mehrfach mit dem Devel-Modul vorgenommen. Dabei konnte ich anhand der Debugausgabe feststellen, das zumindest die Funktion "yaml_3col_mks_standard_theme()" aufgerufen wird. Die Funktion "yaml_3col_mks_standard_preprocess_user_login()" wird jedoch nicht aufgerufen

Kann mir jemand sagen wo ich den Fehler mache?

Vielen Dank schon mal, und beste Grüße
djdops

‹ Geeignetes bzw. empfehlenswertes Ubercart Theme gesucht Template/Theme ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Login Block

Eingetragen von md (3717)
am 17.04.2009 - 16:11 Uhr

Für den Login-Block musst du dieses Template anlegen: user-login-block-form.tpl.php
Deines ist für die Login-Seite (/user/login)

vg
--
md - DrupalCenter.de

mdwp* :: Drupal Consulting

  • Anmelden oder Registrieren um Kommentare zu schreiben

Es gibt keine Theme-Funktion

Eingetragen von Tobias Bähr (4019)
am 17.04.2009 - 16:14 Uhr

Es gibt keine Theme-Funktion dafür siehe http://api.drupal.org/api/function/user_theme/6 .

Also kannst du nur durch http://api.drupal.org/api/function/hook_form_alter/6 das Formular beeinflussen.

----------------------------------------

http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank

Eingetragen von djdops (30)
am 17.04.2009 - 16:26 Uhr

Vielen Dank, für die schnellen Antworten. Ihr mögt beide recht haben, aber ich hab es jetzt doch geschafft. Der Fehler lag in der Funktion "yaml_3col_mks_standard_theme()". Diese muß wie folgt aussehen:

function yaml_3col_mks_standard_theme($existing, $type, $theme, $path) {
  drupal_set_message('yaml_3col_mks_standard_theme'); # debug output
   return array(
   'user_login_block' => array(
    'template' => 'user-login',
    'arguments' => array('form' => null),
   )
  );
}

Es muß "user_login_block" heißen, und nicht "user_login". "user_login_block" ist eine Funktion, welche vom User-Modul (Z:731) in der Funktion "user_block" aufgerufen wird, wenn $op = 'view' und $delta = 0.

Trotzdem nochmal vielen Dank.

Beste Grüße
djdops

----------------------------

Wenn man sich vornimmt nichts zu tun, und das auch schafft, hat man dann etwas getan?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Spartacus schrieb Es gibt

Eingetragen von md (3717)
am 17.04.2009 - 16:33 Uhr
Spartacus schrieb

Es gibt keine Theme-Funktion dafür siehe http://api.drupal.org/api/function/user_theme/6 .

Also kannst du nur durch http://api.drupal.org/api/function/hook_form_alter/6 das Formular beeinflussen.

----------------------------------------

http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen

Aber mit einem eigenen Template geht es schon. Siehe hier: http://4-seasons.tv/user
Hab ich mit einer user-login.tpl.php gemacht. Da das die Seite und nicht der Login-Block ist.

vg
--
md - DrupalCenter.de

mdwp* :: Drupal Consulting

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ergänzung

Eingetragen von djdops (30)
am 17.04.2009 - 16:37 Uhr

Noch eine nicht unwesentliche Ergänzung: Die Funktion "yaml_3col_mks_standard_preprocess_user_login()" muß dann auch "yaml_3col_mks_standard_preprocess_user_login_block()" heißen.

Beste Grüße
djdops

----------------------------------

Wenn man sich vornimmt nichts zu tun, und das auch schafft, hat man dann etwas getan?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Noch ein Versuch

Eingetragen von djdops (30)
am 20.04.2009 - 14:55 Uhr

Ich hab es nochmal versucht. Aber auch ein Template user-login-form.tpl.php hilft nicht. Bislang hat mich nur die Variante des Überschreibens weitergebracht. Aber für jeden Block eine neue Funktion? Ich versuche nun einen über das Block-Menü (/admin/build/block) angelegten Block zu themen. Laut Doku muß das Template mit block-[modulname]-[delta].tpl.php benannt werden. Delta wäre in diesem Fall 1, was mich zu block-block-1.tpl.php bringt. Lege ich aber ein solches Template an, wird es trotzdem nicht geladen.

Habt ihr noch einen Tipp für mich?

Was ich oben nicht erwähnt hatte: Ich verwende das Komplettpaket von Yaml für Drupal. Ich gehe aber eigentlich davon aus, das hier im wesentlichen "nur" das HTML und CSS verändert wurde.

---------------------------------------------------------

Wenn man sich vornimmt nichts zu tun, und das auch schafft, hat man dann etwas getan?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 12 Stunden
  • Hey danke
    vor 2 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 2 Wochen 2 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 6 Wochen 9 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 30 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association