Hallo,
ich verwende ein benutzerdefiniertes Feld um eine Liste existierender Installationen vorzuhalten. Hier soll markiert werden wo überall das im Ticket beschriebene Problem aufgetreten ist. Mehrfachauswahl muß möglich sein, daher ist der Typ Kontrollkästchen eingestellt. Leider ist die entstehende Liste ziemlich unübersichtlich.
Existiert eine Möglichkeit die Ausgabe geeignet zu formatieren, z.B. als 3-4spaltige Tabelle?
Für Hinweise dankbar
jsm
benutzerdefinierte Felder formatieren
Moderators: Developer, Contributor
Re: benutzerdefinierte Felder formatieren
ok, nach einigem Suchen hab' ich die passende Stelle gefunden:
Funktion in ~core\cdefs\cfdef_standard.php.
Ein schneller hack
tut was ich brauche. Schöner wäre Spaltenzahl einstellbar, evtl. sogar getrennt für mehrere vorhandene custom fields - vielleicht später.
Funktion
Code: Select all
cfdef_input_checkbox($p_field_def, $t_custom_field_value)Ein schneller hack
Code: Select all
function cfdef_input_checkbox($p_field_def, $t_custom_field_value) {
$t_values = explode( '|', custom_field_prepare_possible_values( $p_field_def['possible_values'] ) );
$t_checked_values = explode( '|', $t_custom_field_value );
$i=0; $j=5; # Anz. Spalten festlegen
echo '<table><tr>';
foreach( $t_values as $t_option ) {
echo '<td><input ', helper_get_tab_index(), ' type="checkbox" name="custom_field_' . $p_field_def['id'] . '[]"';
if( in_array( $t_option, $t_checked_values, true ) ) {
echo ' value="' . string_attribute( $t_option ) . '" checked="checked"> ' . string_display_line( $t_option ) . '  ';
} else {
echo ' value="' . string_attribute( $t_option ) . '"> ' . string_display_line( $t_option ) . '  ';
}
echo '</td>';
$i++;
if (!($i % $j)){
echo '</tr><tr>';
}
}
if ($i % $j){
echo '</tr>';
}
echo '</table>';
}