Fieldtype Combo (ProField)

Aus Wikizone
Version vom 22. Februar 2022, 11:59 Uhr von 134.3.74.15 (Diskussion) (→‎Snippets)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Übersicht[Bearbeiten]

Feld um ähnlich wie beim Table Feld mehrere Felder zusammenzufassen. Effektive Datenbankspeicherung.

Snippets[Bearbeiten]

Alle Felder ausgeben (inkl. Label und Description)[Bearbeiten]

function renderComboInfo($p,$fieldname){
	$out = '';
	$combo = $p->{$fieldname};
	$comboField = wire()->fields->get('nw'); // note this is the field definition
	$comboSettings = $comboField->getComboSettings();
	foreach($combo as $k=>$f){
		if(!$f) continue; // only filled values
		$label = '';
		$unit = '';
		$subfield = $comboSettings->getSubfield($k);
		$label = $subfield->getLabel();
		$unit = $subfield->getDescription();
		if($unit) $unit = " [$unit]";
		$out .= '
		<div class="'.$k.'">
			<span class="label">'.$label.'</span>
			<span class="value">'.$f.'</span>
			<span class="unit">'.$unit.'</span>
		</div>';
	}
	$out = '<div class="'.$fieldname.'">'.$out.'</div>';
	return $out;
}