Мне нужна помощь с прототипами, которые находятся внутри прототипов. Symfony очень умен в создании прототипов форм, но как только вы окажетесь на один уровень ниже (т.е. прототипы внутри прототипов), он использует $$ name $$ для обоих прототипов.
Вот как выглядит поле прототипа для моей сущности. JQuery меняет $$ name $$ на правильное значение индекса (на основе количества дочерних узлов)
<input type="text" id="entry_entities_$$name$$_contactFax" name="entry[entities][$$name$$][contactFax]" value="" />
Пока все хорошо. Но когда вы углубляетесь на один уровень, Symfony использует $$ name $$ и для следующего уровня ниже - вот прототип для свойства объекта:
<div id="entry_entities_123_properties" data-prototype="
<label for="entry_entities_$$name$$_properties_$$name$$_name">Name</label>
<input type="text" id="entry_entities_$$name$$_properties_$$name$$_name" name="entry[entities][$$name$$][properties][$$name$$][name]" value="" />
Это означает, что (в этом примере с идентификатором сущности 123) все свойства получают идентификатор 123:
name="entry[entities][123][properties][123][name]"
name="entry[entities][123][properties][123][name]"
name="entry[entities][123][properties][123][name]"
и т.д.
По моему мнению, лучший способ решить эту проблему - это использовать $$ somethingelse $$ для свойства - кто-нибудь знает, где это установлено - или у кого-нибудь есть полный пример с JS, как решить эту проблему? Я начал ужасную находку / замену второго $$ name $$ в каждой строке, но это стало очень грязно. Я уверен, что есть простой способ сделать это, но я не смог найти никаких руководств в Интернете.