树枝视图复选框值

时间:2017-05-02 06:52:18

标签: symfony twig

我想查看表单中的复选框。但它显示N / A表示0 enter image description here,1表示1 enter image description here

如何将复选框值格式化为“否”为0,“是”为1?

//twig
<div class="responsive-block">
  {{ UI.renderProperty('campuscrm.eventname.system_calendar.label'|trans, eventname.systemCalendar) }}
</div>

//FormType
public function buildForm(FormBuilderInterface $builder, array $options)
{
    // system calendar
    $builder->add(
        'system_calendar',
        CheckboxType::class,
        array(
            'label' => 'campuscrm.eventname.system_calendar.label',
            'required' => true,
        )
    );
}

2 个答案:

答案 0 :(得分:0)

您可以使用Data Transformer。 (docs

$builder->get('system_calendar')
    ->addModelTransformer(new CallbackTransformer(
        function ($toString) {
            // transform the bool to a string
            return boolval($toString) ? "Yes" : "No";
        },
        function ($fromString) {
            // transform the string back to a bool
            return strval($fromString) == "Yes ? true : false;
        }
    ))
;

但我担心这不是你想要做的。复选框组件等待布尔值,您可能会传递其他内容。你能否确认传递一个布尔值? (您可以使用上面提到的变换器来执行此操作,或者在将其传递给formbuilder之前将其强制转换)

答案 1 :(得分:0)

这是一个解决方法。

{{ UI.renderProperty('campuscrm.eventname.system_calendar.label'|trans, eventname.systemCalendar ? 'Yes' : 'No') }}