有没有办法在我的基本模板中创建全局占位符?我需要在每个页面上都相同(横幅列表)。 我怎么能这样做?
答案 0 :(得分:11)
我通常在CMS中创建一个未发布的页面,但包含我想在别处使用的占位符(页脚/标题)等。
制作新模板 extra_placeholders.html :
{% extends "base.html" %}
{% load cms_tags %}
{% block content %}
{% placeholder "Banner-List" %}
{% endblock %}
将其添加到您的设置中:
CMS_TEMPLATES = (
('my/path/extra_placeholders.html', 'Extra Placeholder Page'),
...
)
现在转到管理员并使用您想要的任何插件创建占位符。然后转到您的所有其他网页继承的基本模板( * base.html )并将其添加到您希望占位符显示的任何位置:
{% load cms_tags %}
...
{% show_placeholder "Banner-List" "extra_placeholders" %}
You can read more about it in the docs
修改强>
正如@JoséL。Patiño在评论中提到的,这个解决方案仅对那些使用django-cms
< 3.0。对于较新版本,您只需使用static_placeholder
模板标记
答案 1 :(得分:7)
现在有“static_placeholders”,http://docs.django-cms.org/en/latest/reference/templatetags.html#static-placeholder
这听起来像是你需要回来的时候。
答案 2 :(得分:1)
您可以使用以下方法为所有页面创建全局掌上电脑。