【问题标题】:symfony form generate not expected placeholder elementsymfony 表单生成不是预期的占位符元素
【发布时间】:2018-12-12 08:36:19
【问题描述】:

通常应该有两个输出都填充有分类 ID - 不知何故有一个“占位符”元素会导致错误。我真的不明白它是从哪里来的,有什么想法吗?我认为最好的想法是在屏幕截图中显示它(另外,它的一部分作为代码)。输出是 twig 的 dump() 函数。

dump() 中生成的 symfony 表单元素 id(3 个表单元素,预期 2 个):

"id" => "Filter_filter_1462_boolcollectionradiomodell_placeholder"
"id" => "Filter_filter_1462_boolcollectionradiomodell_8368"
"id" => "Filter_filter_1462_boolcollectionradiomodell_33696" 

这里是带有 id 和一些附加信息的屏幕截图,例如 symfony 表单元素中的空值:

值是空的,其他的(预期的)用分类ID填充。

这里是 symfony 表单部分:

$builder->add(
    'filter_' . $filter->getId() . '_boolcollectionradio',
    EntityType::class,
    array(
        'class' => AutoTaxonomie::class,
        'choices' => $choices,
        'expanded' => true,
        'multiple' => false,
        'required' => false,
        'label' => ('detail' == $this->entry) ? $tmp : false,
        'attr' => array('data-taxid' => $filter->getId(), 'class' => 'form-group'),
        'choice_label' => function (AutoTaxonomie $taxonomie) {
            $view_data = array(
                'title' => $taxonomie->getTitle(),
                'beschreibung' => $taxonomie->getDescription(),
            );

            return json_encode($view_data);
        },
    )
);

symfony:3.4 树枝:2.5

任何建议都非常感谢,有一个很好的!

【问题讨论】:

  • 我建议您避免将文本输出作为图像发布,因此有些人会否决您的问题。
  • 我理解,但如果我将 3 个数组作为代码发布,它也违反了 stackoverflow 规则,因为我的问题的主要部分是代码。可能我应该只展示表单元素生成的 id,在那里你可以看到 _placeholder

标签: forms symfony twig formbuilder


【解决方案1】:

默认为EntityTypeField 显示占位符元素,如documented。 尝试将其设置为 false 以防止其出现:

$builder->add('filter_', EntityType::class, array(
    'placeholder' => false,
));

【讨论】:

    猜你喜欢
    • 2011-09-13
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2014-01-03
    • 2014-11-04
    • 1970-01-01
    相关资源
    最近更新 更多