对于原型中的原型,我需要一些帮助。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="" />
这意味着(在此示例中,实体 ID 为 123)所有属性都获得 ID 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$$ 进行可怕的查找/替换,但它变得非常混乱。我确信有一种简单的方法可以做到这一点,但我在互联网上找不到任何指南。