Bob*_*ing 1 forms symfony twig
我有一个对象数组:
[0] ProductObject
Title
Image
Link
[1] ProductObject
Title
Image
Link
Run Code Online (Sandbox Code Playgroud)
等等
我可以将这些对象精确地传递给我的形式:
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add(
'products',
'choice',
array(
'choices' => $productsArray,
'multiple' => false,
'required' => false
)
);
}
Run Code Online (Sandbox Code Playgroud)
然后在模板中:
{{ form_label(form.products, 'products') }}
{{ form_errors(form.products) }}
{{ form_widget(form.products) }}
{{ form_rest(form) }}
Run Code Online (Sandbox Code Playgroud)
现在,正如预期的那样,表单呈现出来:
<optgroup label="0">
<option value="id">174</option>
<option value="title">A Bag Of Frogs</option>
<option value="image">Image</option>
<option value="link">http://www.myshoppe.com</option>
</optgroup>
Run Code Online (Sandbox Code Playgroud)
我只希望在下拉列表中有标题,但我希望保持图像和链接可用,因为我想使用javascript在用户选择产品后立即用图像标题和链接填充另一个div.
所以,问题是"如何在Twig中隐藏对象属性?"
要么
这是荒唐的吗?
:)
我想你正在寻找ObjectChoiceList.
你可以像这样使用它:
$choiceList = new ObjectChoiceList($products, 'title', array(), null, 'id');
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add(
'products',
'choice',
array(
'choice_list' => $choiceList,
'multiple' => false,
'required' => false
)
);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3636 次 |
| 最近记录: |