私はいくつかのフォームタイプを持っています。それから私はフォームを作成しています。このように:小枝でsymfonyはtwigフォームテーマのエンティティ名を取得します
$application = new \AppBundle\Entity\Application();
$applicationWidgetForm = $this->formFactory->create(\AppBundle\Form\WidgetApplicationType::class, $application);
、私はこのフォームのテーマで
{% form_theme applicationWidgetForm 'form.html.twig' %}
を使用しています、私は、プロパティ名とエンティティ名を取得したいです。
{{ form.vars.name }}
しかし、私はマッピングされたエンティティ名を取得する方法を見つけ出すことができません:私は(。{%ブロックform_widgetの%}で例えば)このようなプロパティ名を取得することができます。この場合、私はちょうど\AppBundle\Entity\Application() or AppBundle:Application
のようなものを(データ属性として使うために)このフォームのテーマに入れたいと思っています。
一般的な方法でこの値を取得できますか?はい、私は各FormTypeなどで設定することができますが、私はよりエレガントな方法を探しています。
回答のためのThx!
EDIT:全体のコードは
{% block form_widget %}
{{ form.vars.name }} # with this, I can get property name. But what about entity name/class?
{% endblock form_widget %}
form.html.twigこの
コントローラ
$application = new \AppBundle\Entity\Application();
$applicationWidgetForm = $this->formFactory->create(\AppBundle\Form\WidgetApplicationType::class, $application);
return $this->render('form/application_detail.html.twig', [
'applicationForm' => $applicationWidgetForm->createView(),
]);
フォーム/ application_detail.html.twig
{% form_theme applicationForm 'form.html.twig' %}
{{ form(applicationForm) }}
ようなものです
を使用してそれをやりました。私はform_themeでエンティティ名を取得したいので、私は{{form(applicationWidgetForm})}を使用していることは明らかです。そのため私は{%form_theme applicationWidgetForm 'form.html.twig'%}を使っていると書いています。 "フォーム"機能がなければ、役に立たないでしょう... –