フッター コンテンツがすべてのページで共有されているサイトに取り組んでいます。Django-CMS で行う最善の方法は何ですか?
show_placeholder タグを使ってみたのですが、なぜかうまくいきませんでした。私がしたことについてもう少し詳しく:
まず、base.html に {% placeholder footer_info %} があります。次に、django admin に "Home" (テンプレート ホームページ.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 というテンプレートで。ただし、ホームページのコンテンツがサービス ページに表示されません。また、次のようにservices.htmlで参照できるように、詳細オプション領域のホームページにid home_cms_pageを追加してみました。
{% 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>
次に、「ホーム」と呼ばれる管理画面に、テキスト プラグインと「home_cms_page」という ID を持つページを追加しました。
以下は私の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 %}