forms - 用于订购的附加选择字段
问题描述
我想设置新条目的顺序。我需要在现有条目之一之后的第一个位置和顺序
我不知道如何在 Symfony 4.2 中管理这个
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->add('nameDe')
->add('nameEn')
->add('descriptionDe')
->add('descriptionEn')
->add('rank', EntityType::class, [
'class' => ProductType::class,
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('p')
->orderBy('p.rank', 'ASC');
},
'choice_label' => 'nameDe',
])
->add('active')
->add('creatDate')
->add('updateDate', DateTimeType::class, array('data' => new \DateTime()));
}
我有这个:
<select id="product_type_rank" name="product_type[rank]">
<option value="1">Internetseiten</option>
<option value="2">Printmedia</option>
</select>
我需要这样的东西
<select id="product_type_rank" name="product_type[rank]">
<option value="0">At the beginning</option>
<option value="1">after Internetseiten</option>
<option value="2">after Printmedia</option>
</select>
解决方案
如果要在选项中添加自定义文本,可以使用如下choice_label
选项:
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->add('nameDe')
->add('nameEn')
->add('descriptionDe')
->add('descriptionEn')
->add('rank', EntityType::class, [
'class' => ProductType::class,
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('p')
->orderBy('p.rank', 'ASC');
},
'choice_label' => function($productType) {
return 'after ' . $productType->getNameDe();
},
'placeholder' => 'At the beginning',
])
->add('active')
->add('creatDate')
->add('updateDate', DateTimeType::class, array('data' => new \DateTime()));
}
有了这个,您将获得预期的结果。
您可以将特定的 getter 添加到您的 ProductType 实体类中并直接在 中使用它choice_label
,如下所示:
产品类型.php
class ProductType {
...
getNameDeWithCustomText() {
return 'after ' . $this->getNameDe();
}
}
'choice_label' => 'nameDeWithCustomText',
推荐阅读
- c# - 使用 mimekit 解密带有附件的电子邮件
- r - 将 splice() 的输出保存到文本文件
- node.js - MongoDB不更新
- install4j - 任务管理器中的 2 个安装程序进程
- python - 使用用户输入选择要修改的变量?
- docker - 每当 docker hub 上有新的 alpine 的 python 补丁版本可用时,如何配置dependabot.yml 进行更新?
- python - 如何在Python中散点图二维数组
- postgresql - Postgresql 12 通过运行分析修复了 Slave 上的高 CPU 峰值。无法进行 RCA
- python - 避免 IndexError : 列表索引超出范围
- javascript - 使用正则表达式删除外部脚本标签