2

在我的表单中,我需要创建自己的名为“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财产的价值。$imagecreateFormBuilder()->add('path'

有人可以帮我吗?

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

4

1 回答 1

0

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

form.vars.value.path

例子:

{% if form.vars.value.path is not null %}
    <img src="{{ asset('upload/dir/' ~ form.vars.value.path) }}" />
{% endif %}
于 2012-08-23T15:49:30.987 回答