8
我正在研究DjangoCMS插件,其中包含一个JavaScript文件。插件的Javascript依赖于网站其他部分所用的相同库。所以,这里是什么,我现在所拥有的概念部分:在DjangoCMS插件中使用Sekizai addtoblock的正确方法
Basetemplate.html
{% load cms_tags sekizai_tags and_a_bunch_of_other_stuff %}
<html>
...
<head>
{% render_block "css" %}
</head>
<body>
...
{% addtoblock "js" %}[jquery]{% endaddtoblock %}
{% addtoblock "js" %}[google api, data, more cool stuff like jqplot.]{%endaddtoblock%}
{% addtoblock "js" %}[my site's library js.] {% endaddtoblock %}
{% render_block "js" %}
</body>
</html>
现在,在加载我DjangoCMS自定义插件模板,
great_calendar_plugin_template.html
{% load sekizai_tags and_a_couple_other_things %}
{% addtoblock "js" %}[plugin javascript file dependency]{%endaddtoblock %}
{% addtoblock "js" %}[plugin javascript file]{% endaddtoblock %}
....
所以不管我做什么插件javasc ript文件被放置在JQuery之上的最终HTML和所有其他依赖项中,而不是放在它们所属的位置之下。我在这里错过了什么?
谢谢。
大。并感谢你为DjangoCMS提供的! – 2011-12-26 17:49:23
我不确定这是否保证另一个问题发布,但当管理员用户登录时,adminmedia js文件被添加到'js'块,所以jquery得到重新定义(这吹走了jquery-ui和我的jquery插件从我的库中)。有什么方法可以确保将adminmedia渲染到块的顶部? – 2011-12-26 17:53:44
我终于确定,对我来说最好的事情是在[toolbar.html](https://github.com/divio/django-cms/blob/develop/cms/templates/)中稍微调整django-cms重新安装cms/toolbar/toolbar.html)文件,根据是否定义$来有条件地写入jQuery javascript脚本标记。我看到cms工具栏正在重建中,我希望在启动这个东西之前进行升级! – 2011-12-26 23:02:38