2011-11-16 53 views
0

我(仍)試圖將http://xoxco.com/clickable/jquery-tags-input引入專用包。到目前爲止,我有一個類型作爲文本的孩子和數據轉換器,將逗號分隔的字符串轉換爲對象數組,反之亦然。如何在專用包中引用自定義字段類型的小枝?

現在我想用上面鏈接的JQuery代碼來修飾文本字段。據我瞭解,我在[MyTypeBundle]Resources/views/Form/fields.html.twig

定義像

{% block manytomanycomboselector_widget %} 
{% spaceless %} 
    {{ block('text_widget') }} 
    <script> 
    $(function(){ 
     $("#{{ id }}").tagsInput(); 
    }); 
    </script> 
{% endspaceless %} 
{% endblock manytomanycomboselector_widget %} 

塊現在,無論是文檔和this question at StackOverflow狀態的答案,我要麼在模板中使用引用fields.html.twig某處該表單或app/,但這似乎不一定適用於其他字段類型的捆綁包,儘管我無法在其代碼中看到原因。 在這個文件中,除了這個塊之外,我還需要在包內部配置什麼?

此外,我沒有得到我必須把標題的CSS和JS要求,以及我如何處理像jQuery本身一般的要求。

回答

4

我有同樣的問題&我通過合併twig.form.resources參數中的字段模板來解決此問題。

所以,在我的包的DI延伸(MyBundle/DependencyInjection/MyBundleExtension.php),我想補充:

$container->setParameter('twig.form.resources', array_merge(
    array('MyBundle:Form:field_widget.html.twig'), 
    $container->getParameter('twig.form.resources') 
)); 

要知道,你的包必須在AppKernelTwigBundle後進行登記。

編輯:

表單字段沒有鏈接到任何JS或CSS。所以,海事組織,你有2個解決方案。首先,您直接將您的JS & CSS包裝到您的字段模板中,並且您的包保持獨立。

其次,您指示最終用戶每次使用字段類型時都需要手動添加一些JSS & CSS。

IoFormBundle & GenemuFormBundle在文檔中使用了第二種解決方案。

+0

謝謝,這樣做,但我仍然不明白它是如何在IoFormBundle或GenemuFormBundle工作。仍然堅持與JS和CSS。 – mcandril

+0

我編輯我的文章回答你的問題:) – egeloen

+0

謝謝,有道理,並至少解決了如何處理例如依賴關係的問題。 jQuery von多包。 – mcandril

相關問題