Drupal register Block clonen
Eingetragen von beaschmitz (465)
am 09.04.2011 - 21:49 Uhr in
am 09.04.2011 - 21:49 Uhr in
Drupal register Block clonen
Hallo, ich möchte gerne die Felder bzw.das anmeldeformular der bzw. des register blocks clonen, damit ich es in einen weiteren block einfügen kann, damit ich es dann unter eine seite einbinden kann, damit der user bequem sich direkt anmelden kann...
kann mir jemand den php code posten?
DANKE
- Anmelden oder Registrieren um Kommentare zu schreiben
Mit diesem Modul kann man das
am 10.04.2011 - 10:14 Uhr
Mit diesem Modul kann man das machen ....
http://drupal.org/project/multiblock
Drupal rockt!!!
hallo matthias, danke für den
am 10.04.2011 - 17:46 Uhr
hallo matthias,
danke für den modul tipp. dies würde aber nicht so elegant aussehen, wenn ich die benutzeranmeldung als ganzen block wieder verwende:
vielleicht errinerst du dich ---> du hast mir gesagt, wie ich das add content formular in einen block packen kann und dies habe ich jetzt unter eine normale node gehangen. dieses wird aber nur registrierten - und angemeldeten - benutzern angezeigt!
und nichtregistrierte oder nicht angemeldete benutzer sehen an der stelle dann einen anderen block und da steht: bitte registrieren und die bereits registrierten benutzer sollen einfach nur die felder "benutzernamen" und "kennwort" und den submit button sehen...
in welchem modul finde ich denn die benutzeranmeldung? da müsste doch dann auch der php code für die 2 felder stehen? oder?
mit dem firebug finde ich folgendes:
<form id="user-login-form" method="post" accept-charset="UTF-8" action="/node?destination=node">
<div><div id="edit-name-wrapper" class="form-item">
<label for="edit-name">Benutzername: <span title="Dieses Feld wird benötigt." class="form-required">*</span></label>
<input type="text" class="form-text required" value="" size="15" id="edit-name" name="name" maxlength="60">
</div>
<div id="edit-pass-wrapper" class="form-item">
<label for="edit-pass">Passwort: <span title="Dieses Feld wird benötigt." class="form-required">*</span></label>
<input type="password" class="form-text required" size="15" maxlength="60" id="edit-pass" name="pass">
</div>
<input type="submit" class="form-submit" value="Anmelden" id="edit-submit" name="op">
<div class="item-list"><ul><li class="first"><a title="Ein neues Benutzerkonto erstellen." href="/user/register">Registrieren</a></li>
<li class="last"><a title="Ein neues Passwort per E-Mail anfordern." href="/user/password">Neues Passwort anfordern</a></li>
</ul></div><input type="hidden" value="form-87ea6b12c9e30219cb3a1a317e658abe" id="form-87ea6b12c9e30219cb3a1a317e658abe" name="form_build_id">
<input type="hidden" value="user_login_block" id="edit-user-login-block" name="form_id">
</div></form>
Ist dies der richtige Code? DANKE!
PS: Machst Du noch dieses User Profil mit den Blöcken? Ich würde auch bezahlen...
Ich habe mal diesen Code
am 10.04.2011 - 18:27 Uhr
Ich habe mal diesen Code ausprobiert
<form id="user-login-form" method="post" accept-charset="UTF-8" action="/node?destination=node">
<div><div id="edit-name-wrapper" class="form-item">
<label for="edit-name">Benutzername: <span title="Dieses Feld wird benötigt." class="form-required">*</span></label>
<input type="text" class="form-text required" value="" size="15" id="edit-name" name="name" maxlength="60">
</div>
<div id="edit-pass-wrapper" class="form-item">
<label for="edit-pass">Passwort: <span title="Dieses Feld wird benötigt." class="form-required">*</span></label>
<input type="password" class="form-text required" size="15" maxlength="60" id="edit-pass" name="pass">
</div>
<input type="submit" class="form-submit" value="Anmelden" id="edit-submit" name="op">
und es geht! Die Felder etc erscheinen...jedoch habe ich nun ein anderes Problem: Drupal hatut mir die ganze rechte Seite noch unter die node bzw den block den ich gerade mit dieser zusätzlichen anmeldemöglichkeit versehen habe....
was habe ich falsch gemacht???
oh, geht doch nicht....habe
am 10.04.2011 - 18:29 Uhr
oh, geht doch nicht....habe mich mal eingeloggt, aber drupal springt auf die startseite und fordert mich erneut zum logg in auf?!! was habe ich falsch gemacht?
DANKE
Hallo Bea,aus einer Frage
am 10.04.2011 - 20:35 Uhr
Hallo Bea,
aus einer Frage werden immer gleich so viele weitere ... ;-)
Das muss in die template.php rein (ohne die PHP-Tags).
<?php
/**
* Override the Login-Block
*/
function derNameDeinesThemes_theme(){
return array(
'user_login_block' => array(
'template' => 'user-login-block',
'arguments' => array('form' => NULL),
)
);
}
?>
Nun legst Du Dir eine PHP-Datei namens "user-login-block.tpl.php" an.
Dort kommt rein ....
<div>
<div class="form-item" id="edit-name-wrapper">
<input type="text" maxlength="60" name="name" id="edit-name" size="15" value="Username" onFocus="this.value=''" onBlur="if (this.value == '') this.value='Username'" class="form-text required" />
</div>
<div class="form-item" id="edit-pass-wrapper">
<input type="password" name="pass" id="edit-pass" maxlength="60" size="15" value="Passwort" onFocus="this.value=''" onBlur="if (this.value == '') this.value='Passwort'" class="form-text required" />
</div>
<input type="submit" name="op" id="edit-submit" value="Log in" class="form-submit" />
<div class="item-list">
<ul>
<li class="first"><?php print l('Account erstellen', 'user/register', array('attributes' => array('class' => 'thickbox'))); ?> | </li>
<li class="last"><?php print l('Passwort vergessen', 'user/password'); ?></li>
</ul>
</div>
<input type="hidden" name="form_build_id" id="<?php form_clean_id('edit-'. drupal_get_token() .'-form-token') ?>" value="<?php drupal_get_token() ?>" />
<input type="hidden" name="form_id" id="edit-user-login-block" value="user_login_block" />
</div>
Danach -> Cache löschen!
Das ist von mir. Du musst das auf Deine Bedürfnisse anpassen. Hierbei sind die Feld-Beschriftungen schon entfernt worden. Die Divs musst Du Dir nach Deinen Wünschen anpassen. Dieses Template überschreibt jetzt aber ALLE Login-Blocks (auch die Instance) - sprich nirgends ist eine Beschriftung vorhanden.
Möglicherweise (habe ich noch nicht getestet) kann man aber mit diesem Code auch NUR den Instance-Block (aus Multiblock) überschreiben sodass der ursprüngliche Login-Block so bleibt wie er ist (mit Beschriftung). Das musste aber ausprobieren und in der template.php angeben.
Nachtrag: Und den Login-Block kannst Du dann, mit Hilfe von http://drupal.org/project/insert_block, an jede gewünschte Stelle einbinden.
Gruß Matthias
P.S.
Wie ich Dir schon per Mail schrieb, kann ich Dir nicht sagen wann ich die User-Profile-Block-Variante posten werde. Das ist, zeitlich, doch etwas umfangreicher.
Drupal rockt!!!
Hi Matthias, super, vielen
am 16.04.2011 - 10:13 Uhr
Hi Matthias,
super, vielen Dank für Deine Antwort. Hatte die letzten Tage leider gar keine Zeit und versuche mit heute Abend mal wieder mit Drupal zu beschäftigen.
Danke!