Symfony 1.4 duplicando a entrada oculta em formulários incorporados

O problema:

Ao renderizar um formulário com subformulários embutidos no Symfony 1.2 (ou superior), você acabará com o symfony incluindo duas vezes os campos ocultos do formulário embutido se você chamar todos os métodos renderHiddenFields ().

Por exemplo:

<!-- viewSuccess.php -->

<!-- ... render some fields of the form ... -->
<?php echo $form['username'] ?>

<!-- render the hidden fields of the embedded form -->
<?php echo $form['EmbeddedForm']->renderHiddenFields() ?>

<!-- Now render the main form hidden fields -->
<?php echo $form->renderHiddenFields() ?>

Se $ form [‘EmbeddedForm’] contiver campos ocultos (isto é, sfWidgetFormInputHidden), eles serão renderizados duas vezes.

Como consertar:

Para evitar isso, você pode chamar $ form-> renderHiddenFields (false) no formulário principal. Isso desativará a recursão em subformulários.