Начиная с umpteens days, я блокирую проблему с Symfony 2 и формы.
У меня появилась форма веб-сайтов. "Веб-сайты" - это коллекция веб-сайтов, и каждый веб-сайт содержит два атрибута: "тип" и "URL".
Если я хочу добавить больше одного веб-сайта в свою базу данных, я могу нажать ссылку "Добавить другой сайт", которая добавит еще одну строку сайта в мою форму. Поэтому, когда вы нажимаете кнопку "Отправить", вы можете добавить один или X веб-сайт одновременно.
В этом процессе для добавления строки используется атрибут data-prototype, который может генерировать суб-форму сайта.
Проблема в том, что я настраиваю свою форму, чтобы иметь отличную графическую визуализацию... например:
<div class="informations_widget">{{ form_widget(website.type.code) }}</div>
<div class="informations_error">{{ form_errors(website.type) }}</div>
<div class="informations_widget">{{ form_widget(website.url) }}</div>
<div class="informations_error">{{ form_errors(website.url) }}</div>
Но прототип данных не заботится об этой настройке, с тегами и свойствами HTML и CSS. Я сохраняю рендеринг Symfony:
<div>
<label class=" required">$$name$$</label>
<div id="jobcast_profilebundle_websitestype_websites_$$name$$">
<div>
<label class=" required">Type</label>
<div id="jobcast_profilebundle_websitestype_websites_$$name$$_type">
<div>
<label for="jobcast_profilebundle_websitestype_websites_$$name$$_type_code" class=" required">label</label>
<select id="jobcast_profilebundle_websitestype_websites_$$name$$_type_code" name="jobcast_profilebundle_websitestype[websites][$$name$$][type][code]" required="required">
<option value="WEB-OTHER">Autre</option>
<option value="WEB-RSS">Flux RSS</option>
...
</select>
</div>
</div>
</div>
<div>
<label for="jobcast_profilebundle_websitestype_websites_$$name$$_url" class=" required">Adresse</label>
<input type="url" id="jobcast_profilebundle_websitestype_websites_$$name$$_url" name="jobcast_profilebundle_websitestype[websites][$$name$$][url]" required="required" value="" />
</div>
</div>
</div>
Есть ли у кого-нибудь идея сделать этот взлом?