6

ベース テンプレートでグローバル プレースホルダーを作成する方法はありますか? すべてのページ (バナー リスト) で同じにする必要があります。どうやってやるの?

4

3 に答える 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

次の方法を使用して、すべてのページのグローバル プレースホルダーを作成できます。

  1. ベースページにプレースホルダーを作成します。{% プレースホルダー "フッター"%}
  2. ホームページとしてdjango cmsを介してプレースホルダーのコンテンツを作成します
  3. 次に、プレースホルダー ページごとに同じものを表示するには、{% show_placeholder "footer" "home"%} を追加します。これは、新しく作成されたフッター プレースホルダーをホームページより前に表示することを意味します。
  4. これにより、テンプレートを使用するすべてのページのホームページに既存のフッター プレースホルダーのコンテンツ全体が表示されます。
  5. ホームページには 2 つのフッターが表示されますが、mengilangkannya には、CSS を使用してマスター プレースホルダーを非表示にするように変更してください。
于 2012-11-19T02:42:16.210 に答える