我正在一个页脚内容在所有页面之间共享的网站上工作。在 Django-CMS 中最好的方法是什么?
我尝试使用 show_placeholder 标签,但不知何故不起作用。关于我所做的更多细节:
首先,我在 base.html 中有一个 {% placeholder footer_info %}。然后我在 django admin 中添加一个名为“Home”的页面(模板 homepage.html),并将一些文本作为文本插件放在 footer_info 下。正如这个问题中公认的答案所建议的(http://stackoverflow.com/questions/3616745/how-to-render-django-cms-plugin-in-every-page),
我加
{% placeholder footer_info or %}
{% show_placeholder footer_info "Home" %}
{% endplaceholder %}
在一个名为 services.html 的模板中,我将其用作页面服务的模板。但是,主页中的内容未显示在服务页面中。我还尝试在 Advanced 选项区域的主页中添加一个 id home_cms_page,这样我就可以在 services.html 中像这样引用它:
{% placeholder footer_info or %}
{% show_placeholder footer_info "home_cms_page" %}
{% endplaceholder %}
但是内容仍然没有显示出来。
谁能告诉我我做错了什么?这是从所有其他页面的页面获取一些内容的最佳方式(我必须在每个其他页面中添加 show_placeholder)?
谢谢
编辑:
它不是一个多语言网站。我注释掉了,'cms.middleware.multilingual.MultilingualURLMiddleware',
因为我在网站上使用的唯一语言是英语。
我的 base.html 中有这个:
{% load cms_tags sekizai_tags %}
<!-- all the rest of the HTML markups -->
<div class="span4">
{% placeholder footer_info %}
</div>
然后我在管理员中添加了一个名为“主页”的页面,其中包含一个文本插件和一个 ID 为“home_cms_page”。
以下在我的 services.html 中:
{% extends "base.html" %}
{% load cms_tags %}
{% block base_content %}
{% placeholder services_info %}
{% endblock base_content %}
{% block page_content %}
<a href="{% page_url "home_cms_page" %}">Home page</a>
{% endblock page_content %}
{% placeholder "footer_info" or %}
{% show_placeholder "footer_info" "home_cms_page" %}
{% endplaceholder %}