Seite 1 von 2
Pflichtfelder hinzufügen
Verfasst: 12.08.2004 09:44
von Nightcrawler
Hallo @all
zunächsteinmal möchte ich anmerken, dass ich die Suchfunktion benutzt habe, jedoch nicht ganz fündig geworden bin.
Ich möchte im Registrierungsformular 2 neue Pflichtfelder hinzufügen, und eines davon soll in der Nitgliederliste erscheinen, das andere jedoch NUR für den Admin und die Moderatoren sichtbar sein.
Ist das ohne große Probleme zu realisieren?
Habe mich gestern den ganzen Abend dran versucht, komme aber nicht weiter.
Weiteres Problem im gleichen Context:
Wenn ich irgendwo eine neues Feld definiere und dür die Feldbeschreibung die lang_main.php ändere tut sich nix!?!
Wäre um Eure Hilfe sehr dankar.
Gruß, NC.
Verfasst: 12.08.2004 19:44
von Acid
http://www.phpbb.de/topic27028.html
Schau dir mal diesen MOD an. Die meisten deiner Fragen sollten in den txt-Dateien geklärt werden. (Für den Rest frag dann nochmal nach.)
Wenn ich irgendwo eine neues Feld definiere und dür die Feldbeschreibung die lang_main.php ändere tut sich nix!?!
Wo hast du es denn definiert und inwiefern in der lang_main.php geändert?
Pflichtferlder editieren
Verfasst: 13.08.2004 11:33
von Nightcrawler
Hallo,
dankeschön für den Link.
Habe es geschafft ein neues Pflichtfeld hinzuzufügen.
Nun habe ich haber noch folgendes Problem: Das Pflichtfeld darf im Profil des Users nicht editierbar sein!! Das soll nur der Admin dürfen!
Außerdem soll eines der beiden von mir nachträglicheingefügten Pflichtfeldern in der Mitgliederliste auftauchen. Wie bekomme ich das hin?
Die Antwort zu deiner "lang_main.php" muss ich heute Abend schreiben, hab grad keinen Zugang zu den Dateien.
Danke und Gruß,
NC.
Re: Pflichtferlder editieren
Verfasst: 13.08.2004 20:14
von Acid
Nightcrawler hat geschrieben:Nun habe ich haber noch folgendes Problem: Das Pflichtfeld darf im Profil des Users nicht editierbar sein!!
Wenn das Feld gar nicht mehr im Profil auftauchen soll (halt nur bei der Registrierung), dann kannst du den Teil in der tpl mit folgendem umschliessen..
<!-- BEGIN switch_register -->
<!-- END switch_register -->
Zusätzlich müsste dann noch die usercp_register.php angepasst werden (blau ist neu)..
if ( $mode == 'editprofile' )
{
$template->assign_block_vars('switch_edit_profile', array());
}
else
{
$template->assign_block_vars('switch_register', array());
}
Wenn das Feld weiterhin im Profil auftauchen soll, aber nicht mehr änderbar (für den User) sein soll, dann füge innerhalb des <input> Codes des neuen Feldes noch
{READONLY} ein. Dann suchst du die $template Definierung des neuen Feldes in der usercp_register.php und fügst den blaumarkierten Teil darunter ein..
'NEUES_FELD' => $neues_feld,
'READONLY' => ( $mode == 'editprofile' ) ? 'readonly="readonly"' : '',
Außerdem soll eines der beiden von mir nachträglicheingefügten Pflichtfeldern in der Mitgliederliste auftauchen. Wie bekomme ich das hin?
Beim obengenannten MOD gibt´s eine
Feldanzeige in Mitgliederliste.txt.
Komm nicht klar
Verfasst: 14.08.2004 13:15
von Nightcrawler
Hallo Leute,
erstmal ein großes Dankeschön für Eure Hilfe, dennoch habe ich grundlegende Problem. Am Besten ich erkläre mal wie ich ein neues Plichtfeld eingefügt habe, denn ich hab' nicht den Mod benutzt.
Das AIM-Feld bei der Registrierung habe ich nicht gebraucht, also hab ich diese Zeile im Formular einfach gelöscht.
dann habe ich unter dem Formularfeld für den Benutzernamen folgendes eingefügt:
Code: Alles auswählen
<tr>
<td class="row1" width="38%"><span class="gen">{L_AIM}: *</span></td>
<td class="row2"><input type="text" class="post" style="width:200px" name="aim" size="25" maxlength="25" value="{AIM}" /></td>
</tr>
Dann hab ich in die
usercp_register.php folgendes geschrieben (nur das || empty($aim) ist von mir hinzugefügt worden.):
Code: Alles auswählen
if ( empty($username) || empty($new_password) || empty($password_confirm) || empty($email) || empty($aim) )
So das sind alle Änderungs die ich gemacht habe. Funktioniert auch soweit, raffe momentan nur nicht wo ich welche Änderungen vornehmen soll, damit der User diesen Eintrag in seinem Profil nicht mehr ändern kann.
Wäre super, wenn ich mir das nochmal kurz erklären könnt!
Vielen Dank im voraus.
Verfasst: 14.08.2004 14:01
von Acid
..is ja soweit korrekt.
Wie du es dann abänderst, damit die User es nicht mehr ändern können, habe ich oben beschrieben.

nochmal nachhaken
Verfasst: 14.08.2004 15:10
von Nightcrawler
Hallo Acid,
wenn ich deine Hinweise befolge sieht meine
usercp_register.php so aus:
Code: Alles auswählen
$ini_val = ( phpversion() >= '4.0.0' ) ? 'ini_get' : 'get_cfg_var';
$form_enctype = ( @$ini_val('file_uploads') == '0' || strtolower(@$ini_val('file_uploads') == 'off') || phpversion() == '4.0.4pl1' || !$board_config['allow_avatar_upload'] || ( phpversion() < '4.0.3' && @$ini_val('open_basedir') != '' ) ) ? '' : 'enctype="multipart/form-data"';
$template->assign_vars(array(
'USERNAME' => $username,
'CUR_PASSWORD' => $cur_password,
'NEW_PASSWORD' => $new_password,
'PASSWORD_CONFIRM' => $password_confirm,
'EMAIL' => $email,
'YIM' => $yim,
'ICQ' => $icq,
'MSN' => $msn,
'AIM' => $aim,
'READONLY' => ( $mode == 'editprofile' ) ? 'readonly="readonly"' : '',
'OCCUPATION' => $occupation,
'INTERESTS' => $interests,
'LOCATION' => $location,
'WEBSITE' => $website,
'SIGNATURE' => str_replace('<br />', "\n", $signature),
'VIEW_EMAIL_YES' => ( $viewemail ) ? 'checked="checked"' : '',
'VIEW_EMAIL_NO' => ( !$viewemail ) ? 'checked="checked"' : '',
'HIDE_USER_YES' => ( !$allowviewonline ) ? 'checked="checked"' : '',
'HIDE_USER_NO' => ( $allowviewonline ) ? 'checked="checked"' : '',
'NOTIFY_PM_YES' => ( $notifypm ) ? 'checked="checked"' : '',
'NOTIFY_PM_NO' => ( !$notifypm ) ? 'checked="checked"' : '',
'POPUP_PM_YES' => ( $popup_pm ) ? 'checked="checked"' : '',
'POPUP_PM_NO' => ( !$popup_pm ) ? 'checked="checked"' : '',
'ALWAYS_ADD_SIGNATURE_YES' => ( $attachsig ) ? 'checked="checked"' : '',
'ALWAYS_ADD_SIGNATURE_NO' => ( !$attachsig ) ? 'checked="checked"' : '',
'NOTIFY_REPLY_YES' => ( $notifyreply ) ? 'checked="checked"' : '',
In meiner
profile_add_body.tpl steht folgenes:
Code: Alles auswählen
<!-- BEGIN switch_namechange_disallowed -->
<tr>
<td class="row1" width="38%"><span class="gen">{L_USERNAME}: *</span></td>
<td class="row2"><input type="hidden" name="username" value="{USERNAME}" /><span class="gen"><b>{USERNAME}</b></span></td>
</tr>
<!-- END switch_namechange_disallowed -->
<!-- BEGIN switch_namechange_allowed -->
<tr>
<td class="row1" width="38%"><span class="gen">{L_USERNAME}: *</span></td>
<td class="row2"><input type="text" class="post" style="width:200px" name="username" size="25" maxlength="25" value="{USERNAME}" /></td>
</tr>
<!-- END switch_namechange_allowed -->
<tr>
<td class="row1" width="38%"><span class="gen">{L_AIM}: *</span></td>
<td class="row2"><input type="text" class="post" style="width:200px" name="aim" size="25" maxlength="25" value="{AIM}" />{READONLY}</td>
</tr>
<!-- BEGIN switch_edit_profile -->
<tr>
<td class="row1"><span class="gen">{L_CURRENT_PASSWORD}: *</span><br />
<span class="gensmall">{L_CONFIRM_PASSWORD_EXPLAIN}</span></td>
<td class="row2">
<input type="password" class="post" style="width: 200px" name="cur_password" size="25" maxlength="32" value="{CUR_PASSWORD}" />
</td>
</tr>
<!-- END switch_edit_profile -->
So hast du das doch gemeint, nicht?
Beim Registrieren ist auch alles wunderbar, nur wenn sich der User sein eigenes Profil anschaut erscheint folgendes bei meinem neuen Pflichtfeld:
Es erscheint ein Eingabefeld in welcherm der bei der Registrierung angegebene Wert steht. Dieser ist markiert. Hinter dem Eingabefeld steht: readonly="readonly".
Was hab ich denn da falsch gemacht?
Danke und Gruß,
NC.
Verfasst: 14.08.2004 15:12
von Acid
<td class="row2"><input {READONLY} type="text" class="post" style="width:200px" name="aim" size="25" maxlength="25" value="{AIM}" /></td>
..so war´s gemeint.

klappt
Verfasst: 14.08.2004 15:25
von Nightcrawler
super, hat geklappt!
Danke für die schnelle Hilfe!
Mitgliederliste
Verfasst: 14.08.2004 17:07
von Nightcrawler
Hallo,
ich doch noch eine Frage.
Bin beim Ändern der Mitgliederliste. Habe bereits eine neue Spalte für mein neues Pflichtfeld erstellt!
Habe das Feld was für die Eingabe des MSN-Messenger gedachtwar benutzt.
Jetzt weiß ich leider nicht genau welche Variable ich eintragen muss, damit quasi der Eintrag des MSN-Messengers des jeweiligen Benutzers erscheint.
Glaub, das ist vorerst mein letztes Prob. *hoff*
Viele Grüße, NC.