【问题标题】:Form field not displayed未显示表单域
【发布时间】:2016-11-17 05:03:52
【问题描述】:

我有一个名为 Ad 的实体类,它包含如下字段

id, banner, interstitial

问题是当我尝试使用此实体“横幅”文本字段创建表单时,未显示(未呈现),仅显示标签。

我注意到该字段的 id 是 ad_banner 如果我在浏览器检查元素中更改 id,它将显示...
symfony 中的 ad_banner 是什么,为什么要隐藏它?

我不想更改字段的名称,也不想更改 twig 中的 id,因为我想像这样保持简单:

<div class="row">
    <div class="col-md-6">
        {{ form_start(form) }}
        {{ form_widget(form) }}
        {{ form_end(form) }}
    </div>
</div>

我尝试从表单生成器更改字段的 ID,但没有成功。谢谢!

广告类

/**
 * @var string
 *
 * @ORM\Column(name="banner", type="string", length=255, nullable=true)
 */
private $banner;

AdType 表单

/**
 * @param FormBuilderInterface $builder
 * @param array $options
 */
public function buildForm(FormBuilderInterface $builder, array $options) {
    $builder->add('account', EntityType::class, [
                'class' => 'AppBundle:Account',
                'choice_label' => 'name',
                'attr' => ['data-select' => 'true']
            ])
            ->add('banner', TextType::class, [
                'attr' => [
                    'placeholder' => 'Banner Id...'
                ]
            ])
            ->add('interstitial', TextType::class, [
                'attr' => [
                    'placeholder' => 'Interstitial Id...'
                ]
            ])
            ->add('submit', SubmitType::class, [
                'label' => 'Create',
                'attr' => [
                    'class' => 'btn btn-primary btn-sm'
                ]
            ])
    ;
}

生成的 Html

<div class="form-group">
    <label class="control-label required" for="ad_banner">Banner</label>
    <input type="text" id="ad_banner" name="ad[banner]" required="required" placeholder="Banner Id..." class="form-control">
</div>

我把样式拿出来是因为我在想可能是一些 js 隐藏了它。

【问题讨论】:

  • 看起来您尝试在实体中不存在的表单字段中呈现。可以为 Form 类属性添加选项 'mapped' => false
  • 它存在于实体中...并添加到 DOM 但不显示...等等我要更新图片
  • 在这种情况下,此问题来自 YieldManager,与 Symfony 无关
  • 这个 YieldManager 是什么?我怎样才能摆脱它?
  • Ad.yieldmanager.com

标签: php symfony-forms symfony


【解决方案1】:

这是您计算机上的病毒。请删除它http://ru.wikihow.com/%D1%83%D0%B4%D0%B0%D0%BB%D0%B8%D1%82%D1%8C-Ad.yieldmanager.com,问题就会消失

【讨论】:

  • 是广告块兄弟...谢谢您的建议。我会接受答案,因为它指出了我的问题:D
  • 谢谢!祝你好运:D
猜你喜欢
  • 2016-12-22
  • 2014-01-21
  • 1970-01-01
  • 2013-02-14
  • 2020-01-23
  • 1970-01-01
  • 2015-11-19
  • 2013-07-07
相关资源
最近更新 更多