flo*_*low 0 php forms function symfony
我不知道为什么如果我尝试这样做会收到错误:
$builder
->add('product', EntityType::class, array(
'data' => $options['product'],
'placeholder' => 'Wyszukiwarka',
'mapped' => false,
'multiple' => false,
'class' => Products::class,
'attr' => [
'class' => 'chosen-select order_product',
'data-placeholder'=>'Wybierz produkt',
'single_price' => function ($product) {
$cena = $product->getJson()["products"]["price"];
dump($cena);
return $cena;
}
],
'choice_label' => function ($product) {
return ''.$product->getJson()["products"]["name"] .' | Stan Magazynowy: '.$product->getJson()["products"]["stock"].'';
},
'label' => 'Wybierz produkty'
))
Run Code Online (Sandbox Code Playgroud)
所以,“choice_label”内部的函数工作得很好,为什么我不能在包含此输入的额外属性的 attr 中执行相同的操作。我收到此错误:
An exception has been thrown during the rendering of a template ("Catchable Fatal Error: Object of class Closure could not be converted to string").
Run Code Online (Sandbox Code Playgroud)
为什么 attr 对象内部的函数不起作用?
您使用了错误的配置选项。该attr选项不接受回调。在您的情况下 - 根据每个选择的值添加属性 - 您需要使用文档choice_attr中的内容。
示例实现可能如下所示:
$builder->add('attending', ChoiceType::class, array(
// [..]
'choice_attr' => function($choiceValue, $key, $product) {
return [
'data-single-price' => $product->getPrice()
];
}
));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
617 次 |
| 最近记录: |