yii2: Show label anstelle von Wert für Boolesche checkbox
Habe ich eine check-box die Eingabe als Typ Boolean zum speichern von Werten als dishcharged - aktiviert oder deaktiviert werden. Geprüft wird Shop 1 " und "deaktiviert" speichern 0.
Nun möchte ich zeigen, das label als ja oder Keine für Wert 1 und 0 in der grid-Ansicht und Ansicht. Wie kann man erreichen, dass.
meine _form.php code ist wie
$form->field($model, 'discharged')->checkBox(['label' => 'Discharged',
'uncheck' => '0', 'checked' => '1'])
Habe ich versucht wie
[
'attribute'=>'discharged',
'value'=> ['checked'=>'Yes','unchecked=>'no']
],
aber sieht nicht wie die richtige syntax.
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als arogachev sagte, Sie sollten mit booleschen formatter :
http://www.yiiframework.com/doc-2.0/guide-output-formatter.html
http://www.yiiframework.com/doc-2.0/yii-i18n-formatter.html#asBoolean()-detail
Oder man könnte hinzufügen, ein
getDischargedLabel()
Funktion in Ihrem Modell :- Und in deiner gridview :
Erste option:
oder-Verknüpfung:
Dieser nicht verlangen, dass zusätzliche Methoden in Ihrem Modell und schreiben von text-Etiketten (es wird automatisch eingestellt, je nach Sprache in deiner config).
Mehr details zu sehen hier.
Zweite option:
Statt zu schreiben zusätzliche Methode im Modell, können Sie einfach Verschluss auf
value
.Sie können überprüfen, details hier.
Wenn Sie konsequent anzuzeigen Boolesche Werte in der gleichen Weise in Ihrer app können Sie auch definieren Sie eine Globale boolean-formatter:
Dann fügen Sie die Spalte ein: