Anregung: mod_form inkl. id für label for

Diskussion zum Formular-Modul für ConPresso 4
Antworten
SebastianG
ConPresso-User
Beiträge: 72
Registriert: 04.04.2009 20:01
Hat sich bedankt: 29 Mal
Danksagung erhalten: 3 Mal

Anregung: mod_form inkl. id für label for

Beitrag von SebastianG »

Hallo Markus,

Anregung:
es wäre hilfreich, es würde einen Parameter "id" geben, damit man den Bezug zu <label for="..."> herstellen kann.
(Darf nicht mit idx verwechselt werden ;))

Wenn id leer bleibt, dann wird der Wert von "Text" übernommen.

Damit lassen sich ja Formulare leichter anwählen, insbesondere Checkboxen.

Dürfte eine kleine Ergänzung sein oder?

VG Sebastian
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Hierfür öffnet man includes/parser_r_form.inc.php und ergänzt nach

Code: Alles auswählen

// default als Text
if (!array_key_exists('type', $parameters)) {
    $parameters['type'] = 'text';
}
den Block

Code: Alles auswählen

if (array_key_exists('id', $parameters)) {
    $input_id = ' id="'.$parameters['id'].'"';
}
und jetzt kann man z.B. für Checkboxen den Teil

Code: Alles auswählen

if ($parameters['type'] == "checkbox")  { 
   $checked = (array_key_exists('checked', $parameters)) ? ' checked="checked"' : ''; 
   if ($_REQUEST['action']=="form") $checked = ($_t) ? ' checked="checked"' : ''; 
   $_t = '<input type="checkbox" name="content['.$field_name.' ('.$parameters['content'].')]['.$parameters['content'].']" value="'.(($input_value)?$input_value:1).'"'.$input_class.$checked.$disabled.' />'; 
} 
ergänzen zu

Code: Alles auswählen

if ($parameters['type'] == "checkbox")  { 
   $checked = (array_key_exists('checked', $parameters)) ? ' checked="checked"' : ''; 
   if ($_REQUEST['action']=="form") $checked = ($_t) ? ' checked="checked"' : ''; 
   $_t = '<input type="checkbox" name="content['.$field_name.' ('.$parameters['content'].')]['.$parameters['content'].']" value="'.(($input_value)?$input_value:1).'"'.$input_id.$input_class.$checked.$disabled.' />'; 
} 
also einfach
$input_class
ergänzen zu
$input_id.$input_class

Das kann man für alle gewünschten Felder so machen.

Ich habe das eben mal ausprobiert und es funktioniert ohne Probleme.

Wird in der nächsten Version drin sein.

Eine Vorbelegung mit dem Platzhalternamen geht nicht, da sich dadurch bisher nicht in ConPresso vorhandene Einschränkungen für die Platzhalternamen aus der HTML-Definition einer ID ergeben würden. Daher bleibt es bei id=Bezeichnung.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
SebastianG
ConPresso-User
Beiträge: 72
Registriert: 04.04.2009 20:01
Hat sich bedankt: 29 Mal
Danksagung erhalten: 3 Mal

Beitrag von SebastianG »

Bei Interesse:
Ich habe die Datei /includes/parser_r_form.inc.php entsprechend für checkbox, text, textarea und select angepasst (inkl. Kommentaren) und inkl. Orig-407-Datei hier angehängt.

edit: radio noch ergänzt
Dateianhänge
mod_form_id_ergaenzung.zip
(6.34 KiB) 512-mal heruntergeladen
Antworten