[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:
Jeremy Mikola 2011-02-08 16:41:15 -05:00 committed by Fabien Potencier
parent fae8a557f9
commit 9f77cabd2f

View File

@ -123,12 +123,17 @@ class FormExtension extends \Twig_Extension
*
* {{ form_field(field, {}, {'separator': '+++++'}) }}
*
* @param FieldInterface $field The field to render
* @param array $params Additional variables passed to the template
* @param string $resources
* @param FieldInterface $field The field to render
* @param array $attributes HTML attributes passed to the template
* @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)
{
if (null !== $resources && !is_array($resources)) {
$resources = array($resources);
}
return $this->render($field, 'field', array(
'field' => $field,
'attr' => $attributes,
@ -190,7 +195,7 @@ class FormExtension extends \Twig_Extension
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) {
list($name, $template) = $this->getWidget($field, $resources);