[TwigBundle] Cast non-array resources argument to array in form_field() twig function
Methods within FormExtension later type-hint this parameter as an array, but it's convenient to allow a single string to be passed from Twig if we ensure it's wrapped in an array.
This commit is contained in:
parent
fae8a557f9
commit
9f77cabd2f
@ -123,12 +123,17 @@ class FormExtension extends \Twig_Extension
|
|||||||
*
|
*
|
||||||
* {{ form_field(field, {}, {'separator': '+++++'}) }}
|
* {{ form_field(field, {}, {'separator': '+++++'}) }}
|
||||||
*
|
*
|
||||||
* @param FieldInterface $field The field to render
|
* @param FieldInterface $field The field to render
|
||||||
* @param array $params Additional variables passed to the template
|
* @param array $attributes HTML attributes passed to the template
|
||||||
* @param string $resources
|
* @param array $parameters Additional variables passed to the template
|
||||||
|
* @param array|string $resources A resource or array of resources
|
||||||
*/
|
*/
|
||||||
public function renderField(FieldInterface $field, array $attributes = array(), array $parameters = array(), $resources = null)
|
public function renderField(FieldInterface $field, array $attributes = array(), array $parameters = array(), $resources = null)
|
||||||
{
|
{
|
||||||
|
if (null !== $resources && !is_array($resources)) {
|
||||||
|
$resources = array($resources);
|
||||||
|
}
|
||||||
|
|
||||||
return $this->render($field, 'field', array(
|
return $this->render($field, 'field', array(
|
||||||
'field' => $field,
|
'field' => $field,
|
||||||
'attr' => $attributes,
|
'attr' => $attributes,
|
||||||
@ -190,7 +195,7 @@ class FormExtension extends \Twig_Extension
|
|||||||
return $field->getData();
|
return $field->getData();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function render(FieldInterface $field, $name, array $arguments, $resources = null)
|
protected function render(FieldInterface $field, $name, array $arguments, array $resources = null)
|
||||||
{
|
{
|
||||||
if ('field' === $name) {
|
if ('field' === $name) {
|
||||||
list($name, $template) = $this->getWidget($field, $resources);
|
list($name, $template) = $this->getWidget($field, $resources);
|
||||||
|
Reference in New Issue
Block a user