benutzerdefinierte Felder formatieren

Deutschsprachiges Forum für Diskussionen und Fragen zu MantisBT

Moderators: Developer, Contributor

Post Reply
jsm
Posts: 4
Joined: 13 Sep 2011, 15:01

benutzerdefinierte Felder formatieren

Post by jsm »

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
jsm
Posts: 4
Joined: 13 Sep 2011, 15:01

Re: benutzerdefinierte Felder formatieren

Post by jsm »

ok, nach einigem Suchen hab' ich die passende Stelle gefunden:
Funktion

Code: Select all

cfdef_input_checkbox($p_field_def, $t_custom_field_value)
in ~core\cdefs\cfdef_standard.php.
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">&#160;' . string_display_line( $t_option ) . '&#160;&#160;';
		} else {
			echo ' value="' . string_attribute( $t_option ) . '">&#160;' . string_display_line( $t_option ) . '&#160;&#160;';
		}
		echo '</td>';
		$i++;
		if (!($i % $j)){
			echo '</tr><tr>';
		}
	}
	if ($i % $j){
		echo '</tr>';
	}
	echo '</table>';
}
tut was ich brauche. Schöner wäre Spaltenzahl einstellbar, evtl. sogar getrennt für mehrere vorhandene custom fields - vielleicht später.
Post Reply