使用的Symfony 3和覆蓋FOSUserBundle的登記表,我有一個只讀字段:使用Symfony 3,如何將只讀字段顯示爲標籤? (在FOSUBundle的登記表)
->add('name', TextType::class, array('attr' => array('readonly' => true)))
現在,它顯示爲一個文本框,但我想它顯示爲文本/改爲標籤。我看不到任何「LabelType」。是否有可能做到這一點?
使用的Symfony 3和覆蓋FOSUserBundle的登記表,我有一個只讀字段:使用Symfony 3,如何將只讀字段顯示爲標籤? (在FOSUBundle的登記表)
->add('name', TextType::class, array('attr' => array('readonly' => true)))
現在,它顯示爲一個文本框,但我想它顯示爲文本/改爲標籤。我看不到任何「LabelType」。是否有可能做到這一點?
它看起來像你需要自定義文本框的外觀時,它具有readonly
屬性。所以,簡單的解決方案可能是一個單一的CSS樣式:
// style.css
input[readonly] {
border: none;
// more custom styles
}
我的意思是,沒有必要做一些特殊的Symfony和可能是所有輸入只讀表單字段是有用的。
「read_only」在Symfony 2.8中已棄用,現在只讀屬性。試試這個:
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'validation_groups' => ['whatever'],
'attr' => ['readonly' => true],
]);
}
在其他情況下,使用表單字段作爲ATTR時添加到您的樹枝:
{{ form_widget(form.name, {'attr': {readonly:readonly}) }}
做到這一點,正確的方法是做這樣和利用的ATTR屬性:
->add('name', TextType::class, array(
'attr' => array(
'readonly' => true,
),
));
我在編寫帖子時考慮了CSS,然後完全忘了它。這看起來很有希望,但爲了充分測試它,我需要解決我在現場獲得初始值的其他問題(應儘快開始工作)。 – TTT
是的,這看起來像我在找什麼。謝謝! – TTT