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が常に null であることです。...を使用すると、 の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 に答える