我(仍在)尝试将http://xoxco.com/clickable/jquery-tags-input引入专用捆绑包中。到目前为止,我有一个类型作为文本的子和数据转换器,将逗号分隔的字符串转换为对象数组,反之亦然。
现在我想用上面链接的JQuery代码修饰文本字段。据我了解,我必须定义一个像
这样的块{% block manytomanycomboselector_widget %}
{% spaceless %}
{{ block('text_widget') }}
<script>
$(function(){
$("#{{ id }}").tagsInput();
});
</script>
{% endspaceless %}
{% endblock manytomanycomboselector_widget %}
[MyTypeBundle]Resources/views/Form/fields.html.twig
中的
现在,this question at StackOverflow的文档和答案都指出我必须在使用表单的模板或fields.html.twig
中的某个地方引用app/
,但这不是似乎必然是其他字段类型的捆绑,虽然我在他们的代码中看不到为什么。
除了此文件中的此块之外,我还需要在包内配置什么?
此外,我没有得到我必须把标题的css和js要求以及如何处理jQuery本身等一般要求的地方。
答案 0 :(得分:4)
我有同样的问题&amp;我通过在twig.form.resources
参数中合并我的字段模板来解决此问题。
所以,在我的bundle的DI扩展(MyBundle / DependencyInjection / MyBundleExtension.php)中,我添加:
$container->setParameter('twig.form.resources', array_merge(
array('MyBundle:Form:field_widget.html.twig'),
$container->getParameter('twig.form.resources')
));
请注意,您的捆绑包必须在TwigBundle
AppKernel
之后注册。
编辑:
表单字段未链接到任何JS或CSS。所以,IMO,你有2个解决方案。
首先,你直接包装你的JS&amp;您的字段模板中的CSS和您的捆绑包保持独立。
其次,您指示最终用户他们需要手动包含一些JSS&amp; CSS每次使用您的字段类型。
IoFormBundle&amp; GenemuFormBundle在他们的文档中使用了第二个解决方案,如解释。