Wie geht das?
[Profil] Checkbox statt Ja/Nein-Buttons?
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
-
Screw Driver
- Mitglied
- Beiträge: 38
- Registriert: 07.01.2004 10:49
[Profil] Checkbox statt Ja/Nein-Buttons?
Ich würde es gerne so machen, dass man im Profil statt ja oder Nein anzuklicken ein einzelnes Kästchen hat in dem man dann ein Häkchen macht oder nicht.
Wie geht das?
Wie geht das?
-
Screw Driver
- Mitglied
- Beiträge: 38
- Registriert: 07.01.2004 10:49
- oxpus
- Ehemaliges Teammitglied
- Beiträge: 5396
- Registriert: 03.02.2003 12:33
- Wohnort: Bad Wildungen
- Kontaktdaten:
Nein, das ist schon richtig. Dann kann man definieren, dass eine aktivierte Checkbox "Ja" und eine nicht aktivierte Checkbox "Nein" bedeutet. Natürlich muss der Code im Template angepasst und ein Input entfernt werden. So z.B. aus der admin/user_edit_body.tplScrew Driver hat geschrieben:Das ist Quatsch was du sagst. Mit deiner Lösung wäre danach Ja und Nein anklickbar, also Unfug.
Ich brauche eine andere Lösung, kann doch nicht so schwer sein.
Code: Alles auswählen
Radio:
<tr>
<td class="row1"><span class="gen">{L_PUBLIC_VIEW_EMAIL}</span></td>
<td class="row2">
<input type="radio" name="viewemail" value="1" {VIEW_EMAIL_YES} />
<span class="gen">{L_YES}</span>
<input type="radio" name="viewemail" value="0" {VIEW_EMAIL_NO} />
<span class="gen">{L_NO}</span></td>
</tr>
Checkbox:
<td align="center"><span class="gensmall">{L_CURRENT_IMAGE}</span><br />
{AVATAR}<br />
<input type="checkbox" name="avatardel" />
<span class="gensmall">{L_DELETE_AVATAR}</span></td>Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
-
Screw Driver
- Mitglied
- Beiträge: 38
- Registriert: 07.01.2004 10:49
- oxpus
- Ehemaliges Teammitglied
- Beiträge: 5396
- Registriert: 03.02.2003 12:33
- Wohnort: Bad Wildungen
- Kontaktdaten:
Also noch einmal:
erstellt eine Checkbox mit dem Namen "hide_email". Daneben wird dann ein Text angegeben.
In einem Script, z.B. der usercp_register.php, müsste dann mit
überprüft werden, ob der Inhalt "ja" vorhanden ist.
So z.B.:
Damit wird zunächst die Checkbox ausgelesen und geprüft, ob der Wert "ja" vorhanden ist. Dann kann man eine Aktion auslösen, eine Schleife durchlaufen oder, wie in meinem Beispiel, einer Variable einen Wert zuweisen.
Vorher müsste noch abgefragt werden, ob das betreffende Feld in dem Datensatz z.b. auf 0 oder 1 steht, um die Variable 'CHECKED' dem Formular zu übergeben, also den Haken in der Checkbox zu setzen oder eben nicht. Das könnte dann folgendermaßen aussehen:
Jetzt klarer?
Code: Alles auswählen
<input type="checkbox" name="hide_email" value="ja" {CHECKED}> {L_HIDE_EMAIL}In einem Script, z.B. der usercp_register.php, müsste dann mit
Code: Alles auswählen
$HTTP_POST_VARS['hide_email'] (oder $HTTP_GET_VARS['hide_email'] - je nach Formulartyp)So z.B.:
Code: Alles auswählen
if ( $HTTP_POST_VARS['hide_email'] == 'ja' || $HTTP_GET_VARS['hide_email'] == 'ja' )
{
$hide_email = TRUE;
}
else
{
$hide_email = FALSE;
}Vorher müsste noch abgefragt werden, ob das betreffende Feld in dem Datensatz z.b. auf 0 oder 1 steht, um die Variable 'CHECKED' dem Formular zu übergeben, also den Haken in der Checkbox zu setzen oder eben nicht. Das könnte dann folgendermaßen aussehen:
Code: Alles auswählen
$template->assign_vars(array(
'CHECKED' => ( $hide_email == 1 ) ? 'checked=\"checked\"' : '')
);Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
-
Screw Driver
- Mitglied
- Beiträge: 38
- Registriert: 07.01.2004 10:49
- oxpus
- Ehemaliges Teammitglied
- Beiträge: 5396
- Registriert: 03.02.2003 12:33
- Wohnort: Bad Wildungen
- Kontaktdaten:
Hier dann mal eine kleine Mod-Anleitung für das Feld "Popup bei neuer PM":
Code: Alles auswählen
#
#-----[ OPEN ]-----
#
includes/usercp_register.php
#
#-----[ FIND ]-----
#
$popup_pm = ( isset($HTTP_POST_VARS['popup_pm']) ) ? ( ($HTTP_POST_VARS['popup_pm']) ? TRUE : 0 ) : TRUE;
#
#-----[ REPLACE WITH ]-----
#
$popup_pm = ( $HTTP_POST_VARS['popup_pm'] == '1' ) ? TRUE : 0;
#
#-----[ FIND ]-----
#
'POPUP_PM_YES' => ( $popup_pm ) ? 'checked="checked"' : '',
'POPUP_PM_NO' => ( !$popup_pm ) ? 'checked="checked"' : '',
#
#-----[ REPLACE WITH ]-----
#
'POPUP_PM' => ( $popup_pm == TRUE ) ? 'checked="checked"' : '',
#
#-----[ OPEN ]-----
#
templates/xxx/profile_add_body.tpl
#
#-----[ FIND ]-----
#
<input type="radio" name="popup_pm" value="1" {POPUP_PM_YES} />
<span class="gen">{L_YES}</span>
<input type="radio" name="popup_pm" value="0" {POPUP_PM_NO} />
<span class="gen">{L_NO}</span></td>
#
#-----[ REPLACE WITH ]-----
#
<input type="checkbox" name="popup_pm" value="1" {POPUP_PM} />
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoMGrüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
-
Screw Driver
- Mitglied
- Beiträge: 38
- Registriert: 07.01.2004 10:49
Super hat bisher alles geklappt. Nur wie mache ich es oben bei
Also wenn neue User sich registerieren. So wie ich es bis jetzt habe (einfach wie beim Profile) ist bei den Checkboxen beim Registreiren keines der Kästchen gecheckt.
So wie es beim Registrieren ist wird es auch übernommen wie ich festgestellt habe, das klappt also. Nur es sind nicht die entsprechend voreingestellten Kästchen angeklickt wie es sein sollte.
Kannst mir dazu noch kurz helfen?
Code: Alles auswählen
$attachsig = ( isset($HTTP_POST_VARS['attachsig']) ) ? ( ($HTTP_POST_VARS['attachsig']) ? TRUE : 0 ) : $board_config['allow_sig'];So wie es beim Registrieren ist wird es auch übernommen wie ich festgestellt habe, das klappt also. Nur es sind nicht die entsprechend voreingestellten Kästchen angeklickt wie es sein sollte.
Kannst mir dazu noch kurz helfen?
- oxpus
- Ehemaliges Teammitglied
- Beiträge: 5396
- Registriert: 03.02.2003 12:33
- Wohnort: Bad Wildungen
- Kontaktdaten:
Code: Alles auswählen
Finde
$template->assign_vars(array(
'USERNAME' => $username,
und davor einfügen
if ($mode == 'register')
{
$popup_pm = TRUE // Oder 0 je nach gewünschter Voreinstellung
}Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!