我正在從食譜的一些表單集合,但我有這個標籤出現,我試圖刪除這個沒有任何運氣。如何刪除表單文件中未顯示的表單標籤?
我沒有看到下面列出的代碼在我的表單中。
如何刪除此標籤?
藍色標籤 'Clientphones' 突出顯示的是什麼,我試圖消除:
這是在頁面信息標籤:
ClientPhone形式
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('home', 'text');
$builder->add('office', 'text');
$builder->add('mobile', 'text');
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Acme\DemoBundle\Entity\ClientPhone',
));
}
public function getName()
{
return 'ClientPhone';
}
客戶形式
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('firstName', 'text', array(
'label' => 'First Name'
))
->add('lastName', 'text', array(
'label' => 'Last Name'
))
->add('email', 'text', array(
'label' => 'E-mail Address'
))
->add('clientphones', 'collection', array(
'type' => new ClientPhoneType(),
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false,
));
}
嫩枝形式
<form class="form" name="client" method="post">
{{ form_start(form) }}
{{ form_errors(form) }}
{{ form_row(form.firstName) }}
{{ form_row(form.lastName) }}
{{ form_row(form.email) }}
<h3>Client Phones</h3>
<ul style="list-style-type: none;" class="clientphones" data-prototype="{{ form_widget(form.clientphones.vars.prototype)|e }}">
{% for phone in form.clientphones %}
<li>{{ form_row(phone.home) }}</li>
<li>{{ form_row(phone.office) }}</li>
<li>{{ form_row(phone.mobile) }}</li>
{% endfor %}
</ul>
{{ form_rest(form) }}
<input type="submit" value="Submit" />
{{ form_end(form) }}
</form>
完美,隱藏該標籤!不知道這件事。這是什麼做的,我在哪裏閱讀更多關於這個? – chance 2014-11-04 21:24:46
每個表單字段都是具有'$ rendered'屬性的'FormView'(https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Form/FormView.php)對象。我假設當你調用類似'{{form_row()}}'時,它會自動設置呈現爲true,這意味着它不會在{{form_rest()}}傳遞中被拾取。我只是從StackOverflow中找到了有關'{%do ... setRendered%}'的內容,而不是任何文檔,所以除此之外我無法真正幫助你。 – qooplmao 2014-11-04 21:53:18
哎呀,謝謝你的解釋Qoop!對我來說也是一樣,做了一些搜索,並且只找到了StackOverflow關於'{%do ... setRendered%}'命令的引用。 – chance 2014-11-04 21:56:46