UPDATE/EDITSymfony 2,自定義窗體小部件對於單個輸入?
這是我所做的,但由於某種原因,它不工作。所以服務如下,
clearfix.extended_type:
class: Bundle\Form\ClearfixExtension
tags:
- { name: form.type_extension, extended_type: Symfony\Component\Form\Extension\Core\Type\FormType }
現在我確定這是錯誤的,我沒有使用過多的服務,仍然試圖讓我的頭靠近他們。
我也建立了這個類,請參閱下面的答案,以便其他讀者閱讀此文,並使用正確的命名空間。
我也做了以下的塊,
{%- block form_row -%}
<div class="other classes here {% if clearfix %}clearfix"{% else %}"{% endif %}>
{{- form_widget(form) -}}
{{- form_label(form) -}}
{{- form_errors(form) -}}
</div>
{%- endblock form_row -%}
但是,所有我從我的形式獲得,當我嘗試呈現它,「變‘clearfix’不存在..... 「
那麼我做錯了什麼?我猜它與服務設置有關?
感謝
OK,這是在做一點點我的頭,還我已經遍地的文檔,但我要麼做完全錯誤或它的我想要做的是不能幹嗎?
所以我使用Symfony 2.7,並將它設置爲指向一個窗體樹枝文件,以便我可以重寫一些默認值。這工作正常,沒有任何問題。不過,我現在想要能夠使用添加的clearfix類渲染某些行。這就是我撕心裂肺現在,
{%- block form_row -%}
<div>
{{- form_widget(form) -}}
{{- form_label(form) -}}
{{- form_errors(form) -}}
</div>
{%- endblock form_row -%}
呈現我用正確的類都行,但我希望能夠使用下面的一些選定的行
{%- block _clerfix -%}
<div class="clearfix">
{{- form_widget(form) -}}
{{- form_label(form) -}}
{{- form_errors(form) -}}
</div>
{%- endblock _clerfix -%}
然後我與我想建立與添加clearfix類形式的抽象類型中的block_name
調用該方法,像這樣,
->add('password', 'password', ['label' => 'Password',
'required' => false,
'block_name' => 'clearfix',
'attr' => ['autocomplete' => 'off','class' => 'Passwordd', 'aria-required' => 'true' ]
])
是我想是可行的?我真的不想將這個clearfix添加到我現在正在構建的用戶表單中,因爲這不會讓我的代碼非常乾燥,因爲會有(我們會這樣認爲的)地方,我需要重新使用該塊渲染其他領域?
所有幫助最受歡迎。
謝謝。
是啊,這就是我都試過了。我有一個文件,我的配置文件指向並加載覆蓋,例如第一個表單塊。然而,無論我做什麼,我都無法獲得單個輸入字段來呈現不同的塊,它只會呈現第一個塊。因此,我沒有得到我的clearfix類添加到包裝div –
這不是我想要做的,我希望能夠添加一個類塊在選定的輸入,而不是所有的複選框,如在你的例子 –
對不起,我更新我的回答。現在,我瞭解它是正確的? –