以奏鸣曲的形式创建一个虚拟场

问题描述 投票:0回答:2

遵循此文档

https://sonata-project.org/bundles/admin/master/doc/cookbook/recipe_virtual_field.html

我试着这样做

<?php 
protected function configureFormFields(FormMapper $formMapper)
{

    $formMapper
        .....
    ->add('tancar', 'checkbox',array(
        'virtual_field' => true
        ))

有这个错误

选项“virtual_field”不存在。定义的选项包括:“action”,“allow_extra_fields”,“attr”,“auto_initialize”,“block_name”,“by_reference”,“compound”,“constraints”,“csrf_field_name”,“csrf_message”,“csrf_protection”,“csrf_token_id “,”csrf_token_manager“,”data“,”data_class“,”disabled“,”empty_data“,”error_bubbling“,”error_mapping“,”extra_fields_message“,”horizo​​ntal_input_wrapper_class“,”horizo​​ntal_label_class“,”horizo​​ntal_label_offset_class“,”inherit_data“, “invalid_message”,“invalid_message_parameters”,“label”,“label_attr”,“label_format”,“label_render”,“mapped”,“method”,“post_max_size_message”,“property_path”,“required”,“sonata_admin”,“sonata_field_description “,”sonata_help“,”translation_domain“,”trim“,”upload_max_size_message“,”validation_groups“,”value“。

怎么了?

symfony sonata-admin symfony-3.3
2个回答
0
投票

你可以试试这个:

->add('_action', null, [
                'virtual_field' => true,
                'actions' => [
                    'edit' => [],
                    'delete' => [],
                ],
            ]);

因为virtual_field适用于_actionbatch。在文档中“包括各种Mappers中的某些字段不依赖于模型中的任何实际字段(例如,_action或batch)。”


0
投票

因为看起来这个选项在listMapper中使用,我已经解决了在实体中创建这个方法的问题:

<?php
public function getTancar()
{
    return false;
}

public function setTancar($value)
{

}

然后,我可以在控制器或Admin类中获取此参数(例如,postUpdate方法)

© www.soinside.com 2019 - 2024. All rights reserved.