ベース テンプレートでグローバル プレースホルダーを作成する方法はありますか? すべてのページ (バナー リスト) で同じにする必要があります。どうやってやるの?
質問する
3449 次
3 に答える
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" %}
編集
@José L. Patiño がコメントで述べたように、このソリューションはdjango-cms
< 3.0 を使用している場合にのみ必要です。static_placeholder
新しいバージョンでは、テンプレートタグを使用するだけです
于 2012-11-13T21:49:14.327 に答える
1
次の方法を使用して、すべてのページのグローバル プレースホルダーを作成できます。
- ベースページにプレースホルダーを作成します。{% プレースホルダー "フッター"%}
- ホームページとしてdjango cmsを介してプレースホルダーのコンテンツを作成します
- 次に、プレースホルダー ページごとに同じものを表示するには、{% show_placeholder "footer" "home"%} を追加します。これは、新しく作成されたフッター プレースホルダーをホームページより前に表示することを意味します。
- これにより、テンプレートを使用するすべてのページのホームページに既存のフッター プレースホルダーのコンテンツ全体が表示されます。
- ホームページには 2 つのフッターが表示されますが、mengilangkannya には、CSS を使用してマスター プレースホルダーを非表示にするように変更してください。
于 2012-11-19T02:42:16.210 に答える