我需要原型內原型的一些幫助。 Symfony在生成表單原型時非常聰明,但是一旦你下了一層(即原型內的原型),它就會重用$$ name $$作爲原型。
這是我的實體原型字段的樣子。 JQuery使用正確的索引值(根據子節點的數量)換出$$ $$ $$。
<input type="text" id="entry_entities_$$name$$_contactFax" name="entry[entities][$$name$$][contactFax]" value="" />
迄今爲止這麼好。但是,當你去更深一層,Symfony的使用$$名$$一個新的水平調得太低 - 這裏是爲實體屬性的原型:
<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完整的例子如何解決這個問題?我開始在每一行上尋找/替換第二個$$ $$,但是非常混亂。我確信有一個簡單的方法可以做到這一點,但我無法在互聯網上找到任何指南。
你在prototype()函數中傳遞'$$ name $$',你不能在那裏改變它嗎? – meze 2012-02-24 09:41:58
其實我在發帖之後看了一下Symfony的代碼。 $$ $$被硬編碼到CollectionType中。看看Symfony \ Component \ Form \ Extension \ Core \ Type \ CollectionType.php – mogoman 2012-02-24 09:48:22
對。 [未在2.1中硬編碼](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Form/Extension/Core/Type/CollectionType.php)。 – meze 2012-02-24 09:56:48