Symfony2:自定义字段类型未收到属性值

时间:2012-08-23 11:31:31

标签: forms symfony types field

在我的表单中,我需要创建自己的字段类型“ImageType”才能显示标记。

这里是我用来创建表单的代码:

$form = $this->createFormBuilder($image)
            ->add('title')
            ->add('description')
            ->add('file')
            ->add('path', new ImageFieldType());

这里是ImageTypeField定义:

class ImageFieldType extends AbstractType
{
    public function getDefaultOptions(array $options)
    {
        return array(
            'path' => null,
        );
    }

    public function getParent()
    {
        return 'field';
    }

    public function getName()
    {
        return 'imageField';
    }
}

模板:

{% block imageField_widget %}
    {% if path is not null %}
        <img src="{{ asset('upload/dir/' ~ path) }}" />
    {% endif %}
{% endblock %}

我的问题是path始终为空。 我希望在使用path时收到$image createFormBuilder()->add('path'属性的值....

有人可以帮帮我吗?

更新 解决了,我使用form.vars.value.path,但form.vars.value已经足够了!

1 个答案:

答案 0 :(得分:0)

如果path来自您的表单,那么您将在表单中检索它:

form.vars.value.path

示例:

{% if form.vars.value.path is not null %}
    <img src="{{ asset('upload/dir/' ~ form.vars.value.path) }}" />
{% endif %}