Benutzeranmeldung separieren
am 29.06.2008 - 12:50 Uhr in
Hallo,
habe gerade meine erste Drupal-Testinstallation in der Mache. Klappt soweit auch ganz gut.
Drupal macht nen pfiffigen Eindruck. Ist mein erstes Community-CMS.
Nur eine Frage:
Ich verstehe nur nicht so ganz wie man den "Benutzeranmeldung"-Block auf eine Seite bestimmte Seite separiert zum Beispiel im Impressum, quasi als Backend-Login für den Admin/Redakteur für kleinere Projekte.
Ohne Anmelde-/Registriermöglichkeit für den Gast.
Da ist der Groschen irgendwie noch nicht so recht gefallen. Kann mir da jemand ne Vorgehensweise bieten ... ? :-)
Grüße ... Tschurtschi
- Anmelden oder Registrieren um Kommentare zu schreiben

In der Blockkonfiguration de
am 29.06.2008 - 13:04 Uhr
In der Blockkonfiguration de Benutzeranmeldung kannst du die Sichtbarkeit des Blocks konfigurieren (?q=admin/build/block/configure/user/0).
Dort dann einfach auf node/xy stellen (xy = die nummer des impresssum nodes) und auf "Nur auf diesen Seiten anzeigen" stellen.
Login via Node-Integration
am 29.06.2008 - 16:46 Uhr
Ich verstehe nur nicht so ganz wie man den "Benutzeranmeldung"-Block auf eine Seite bestimmte Seite separiert
Ohne Anmelde-/Registriermöglichkeit für den Gast. Da ist der Groschen irgendwie noch nicht so recht gefallen. Kann mir da jemand ne Vorgehensweise bieten ... ? :-)
Du könntest den Eigabefilter für die Impressum-Seite auf PHP stellen (in Drupal 6 vorher Modul PHP aktivieren) und folgendes an passender Stelle unterbringen:
<?php global $user; if ($user->uid == 0) { ?><div class="login"><?php print drupal_get_form('user_login'); ?></div>
<?php } ?>
Wenn das Login auf diese Weise absolviert ist, steht an dieser Stelle dann gar nichts mehr. Idealerweise sollte aber irgendwie doch deutlich sichtbar sein (durch einen User-Block o. ä.), dass da ein User mit gewährten Rechten eingeloggt ist. Und ein Logout irgendwo im Primary Menü oder im User-Block wäre gleichfalls vonnöten.
Hat geklappt
am 29.06.2008 - 19:25 Uhr
Hat via node/xy Sichtbarkeitseinstellung in den Blockeinstellungen bestens geklappt. Danke.
Lässt sich denn der Passwortlink ebenfalls abschalten?
Was verstehst Du unter
am 30.06.2008 - 02:01 Uhr
Was verstehst Du unter Passwortlink?
Passwortlink
am 30.06.2008 - 13:40 Uhr
Verlinkung:
"Neues Passwort anfordern."
Zum Bereich Benutzerkonto.
Grundsätzliches ...
am 30.06.2008 - 13:44 Uhr
<?php global $user; if ($user->uid == 0) { ?><div class="login"><?php print drupal_get_form('user_login'); ?></div>
<?php } ?>
Code klappt. Danke.
Nur was Grundsätzliches?!:
Wo holt sich der "Einbau" das Layout (Formularfeldgrößen, Umbrüche usw.) weg?
das dürfte über CSS laufen
am 30.06.2008 - 13:54 Uhr
das dürfte über CSS laufen
Form API
am 30.06.2008 - 14:17 Uhr
Wo holt sich der "Einbau" das Layout (Formularfeldgrößen, Umbrüche usw.) weg?
Bei der Form API; hier die Referenz dazu. :)
Auch dieser Nebenthread hier im DC gehört zum Thema.
EDIT:
das dürfte über CSS laufen
Die Größe von Formularfeldern nicht.
Ich dachte schon
am 30.06.2008 - 15:10 Uhr
Ich dachte schon ...
id/class via css ist klar, aber Formular-Variablen doch nicht ...
Nur komm ich nicht dahinter:
"drupal_get_form('user_login')" zB. muss doch irgendwo hingreifen, wo ('user_login') definiert ist.
Ich versuch anhand des Garland-Themes dahinter zu kommen ...
Der große PHPler bin ich nämlich nicht ... :-)
drupal_get_form greift auf
am 30.06.2008 - 15:26 Uhr
drupal_get_form greift auf die funktion zu, die als string angegeben ist und holt sich daraus die daten. Also in dem fall auf function user_login, und zum validieren und übermitteln user_login_validate und user_login_submit (Drupal 6 scheint für die Validierung andere Funktionen zu nutzen)
Die Größe von Formularfeldern nicht.
Die inhaltliche Größe nicht,das stimmt. Aber die Anzeigegröße ist über width und height einstellbar (oder ist das nicht barrierefrei?)
Meine Lösung
am 02.07.2008 - 09:39 Uhr
Das Backend hab ich jetzt wie folgt auf eine Seite separiert:
TIPP: Den Block 'Benutzeranmeldung' aus Drupal erst dann deaktivieren, wenn alles wie gewünscht läuft. Sonst gibts Probleme.
1. Neuen Block 'Backend' erstellt und an beliebiger Stelle platziert.
2. Block-Einstellungen für 'Backend':
- Eingabeformat auf 'PHP' eingestellt
- Im FCK-Editor unter Button 'HTML' Quellcode eingebaut:
<?php global $user; if ($user->uid == 0) { ?><div class="login"><?php print drupal_get_form('user_login'); ?></div>
<?php } ?>
Geht auch unter bereits eingegebenen Text.
- Unter "Spezifische Sichtbarkeits-Einstellungen" die entsprechende Seite/Node mittels 'node/xy' angewählt. Seite sollte bereits vorhanden sein.
3. Die Einstellungen (Feldweite) für das Formular in "../modules/user/user.install" via Filezilla/Notepad++ online
unter 'function user_login' (Bei mir Zeile ab Zeile 1235) festgelegt. Bei mir '#size' => 60 auf 15.
So hats bei mir soweit geklappt. Angaben ohne Gewähr.
Anregungen erwünscht.
Vielen Dank fürs Weitertreiben ...
Grüße ... Tschurtschi
Nur als Anregung ;-) Den
am 05.07.2008 - 13:48 Uhr
Nur als Anregung ;-)
Den Block "Anmeldung" komplett ausblenden und über www.deinedomain.de/user ist der Login immer erreichbar.
Tab Registrierung ausgeblendet
am 06.07.2008 - 11:44 Uhr
Nur als Anregung ;-)
Ja, jedoch war gefragt, wie eine Login-Box ohne den Tab Registrierung angezeigt werden kann. Dafür gibt's keinen Systemlink.
Quick Tabs
am 06.07.2008 - 12:25 Uhr
Eventuell bietet sich mit dem Modul Quick Tabs ein voellig anderer Loesungsansatz: Demoseite
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.