JSM7 マニュアル v1.0.0
索引検索
  • ホーム
  • テンプレート管理ユーザーマニュアル

CMSタグリファレンス¶

ページコンテンツ表示¶

placeholder¶

placeholder はユーザ編集領域を定義するタグです。

使用例:

{% placeholder "article_content" %}

定義領域にはJSM7が用意したCMSパーツを設置できます。 CMSパーツには記事、画像、リンク、動画、地図等が用意されており、一旦パーツを設置するとダブルクリックによる編集が可能になります。 設置可能なパーツは予約された引数( placeholder名 )で制御され、1つまたは複数から選択します:

placeholder名 機能
article_content 全てのパーツを選択可能です。
banner_content バナーパーツのみ設置可能です。
visual_content 画像パーツのみ設置可能です。

上記の他、各クライアント専用の placeholder名 を用意できます。 その場合は こちら までご連絡ください。

placeholder名 の後に or を指定すると、placeholderにデフォルトで設定されるコンテンツを指定できます。 or を指定した場合、デフォルトで表示するコンテンツの終わりに {% endplaceholder %} を定義します:

{% placeholder "visual_content" or %}
   <li><a href="#"><img src="/main_image_01.jpg" width="960" height="280" alt=""></a></li>
   <li><a href="#"><img src="/main_image_02.jpg" width="940" height="280" alt=""></a></li>
   <li><a href="#"><img src="/main_image_03.jpg" width="940" height="280" alt=""></a></li>
{% endplaceholder %}

placeholder名 の後に inherit を指定すると、親ページの placeholder を継承します:

{% placeholder "banner_content" inherit %}

継承する placeholder が親ページに存在しなかった場合のエラー発生を防ぐため inherit の後に or 引数を併せて指定できます:

{% placeholder "original_content" inherit or %}親ページに"original_content"がありません{% endplaceholder %}

また、with タグで placeholder タグを囲むと placeholder に値を渡せます。 以下は placeholder の幅(width)を320pixcelに、高さ(height)を160pixcelに設定した例です:

{% with width=320 height=160 %}{% placeholder "banner_content" %}{% endwith %}

static_placeholder¶

static_placeholder タグは、ヘッダーやフッター、バナーなど複数のページで同じ内容のユーザ編集領域を提供するために使用します。 使用方法は placeholder タグと同様です:

{% static_placeholder "footer" %}
{% static_placeholder "footer" or %}編集領域がありません{% endstatic_placeholder %}

警告

静的ユーザ編集可能領域は、編集してもページの編集履歴に残らず、やり直す/もう一度 の操作ができません。

show_placeholder¶

show_placeholder は他ページの placeholder を参照します。 show_placeholder タグを記述したページ内では参照したコンテンツを編集できません。 第1引数に placeholder名 、第2引数に参照ページを指定します:

# "footer_container_page"ページにある"footer"placeholderの情報を参照します。
{% show_placeholder "footer" "footer_container_page" %}
# request.current_page.parent_idが指すページにある"content"placeholderの情報を参照します。
{% show_placeholder "content" request.current_page.parent_id %}
# request.current_page.get_rootのページにある"teaser"placeholderの情報を参照します。
{% show_placeholder "teaser" request.current_page.get_root %}

参照先コンテンツが変更された場合、直ちに変更を反映させるにはキャッシュ利用なしの show_uncached_placeholder タグを使用できます。

page_url¶

page_url はサイト内の任意のページのURLを取得するタグです。 第1引数にサイト内ページURLに相当する変数を指定します:

<a href="{% page_url "help" %}">Help page</a>
<a href="{% page_url request.current_page.parent %}">親ページへ</a>

また、第2引数に as を指定すると page_url の戻り値に別名を設定できます。 可読性を高めたり、同じテンプレートファイル内で何度も利用するために設定します。

使用例:

{% page_url request.current_page.parent as parent_url %}
<a href="{{ parent_url }}">親ページヘ</a>

page_attribute¶

page_attribute は任意のページの属性を取得するためのタグです。 第1引数には次の属性名を指定します。 "title", "menu_title", "page_title", "slug", "meta_description", "changed_date", "changed_by"

例:

{% page_attribute "page_title" %}

第2引数に他ページを指定すると、他ページの属性値を取得します。

例:

{% page_attribute "page_title" "my_page_reverse_id" %}
{% page_attribute "page_title" request.current_page.parent_id %}
{% page_attribute "slug" request.current_page.get_root %}

また、page_urlと同様に as で戻り値を変数で取得します。

例:

{% page_attribute "page_title" as title %}
<a href="/mypage/">{{ title }}</a>
{% page_attribute "page_title" "my_page_reverse_id" as title %}
<a href="/mypage/">{{ title }}</a>

メニュー表示¶

show_menu¶

show_menuタグは現在のページのナビゲーションメニューを生成するタグです。 次の5つの引数をオプションパラメータとして指定します:

引数 名称 default値
1 start_level 0
2 end_level 100
3 extra_inactive 0
4 extra_active 100
5 template menu/menu.html

start_levelとend_levelとで、どの階層から生成すべきか、どの階層で生成をストップすべきかを指定します。 トップページを0階層目として、0階層目を表示したくなければstart_levelに1を指定します。

extra_inactiveは、現在アクティブなノードの直接の先祖や子孫でないノードについて、何階層目まで表示すべきか指定します。

extra_activeは、現在アクティブなノードについて、何階層目まで表示すべきか指定します。

templateは、テンプレートを指定します。

全てのノードが100階層目まで表示する例:

<ul>
    {% show_menu 0 100 100 100 %}
</ul>

アクティブなノードだけ100階層目まで表示する例:

<ul>
    {% show_menu 0 100 0 100 %}
</ul>

アクティブなノードの1階層目まで表示する例:

<ul>
    {% show_menu 0 100 0 1 %}
</ul>

1階層目から表示する例:

<ul>
    {% show_menu 1 %}
</ul>

テンプレートを指定した例:

{% show_menu 0 100 100 100 "myapp/menu.html" %}

show_menu_below_id¶

ページメニューの拡張設定でページIDを設定した場合に、ページ内にサブメニューを表示します。 例えば、下の例のようなmetaというIDが設定されたページは、ナビゲーションメニューには表示せずに、 ページ内のメニューに表示します:

<ul>
    {% show_menu_below_id "meta" %}
</ul>

また、show_menu と同様のオプションパラメータが使用できます:

<ul>
    {% show_menu_below_id "meta" 0 100 100 100 "myapp/menu.html" %}
</ul>

show_sub_menu¶

現在のページに対してサブメニューを作成します。 引数は全てオプションで省略可能です。

第1引数の levels (default=100) は、どの階層まで遡って表示するかを示します。

第2引数の root_level (default=None) は、どの階層をルートにして表示するかを示します。 例えば、root_levelを0に設定すると、現在ページに関係なくトップ階層からサブメニューを表示します。

第3引数の nephews (default=100)は、何レベルの孫階層まで表示するかを示します。

第4引数の templates (default=menu/sub_menu.html)は、テンプレートファイルを指定します。

Examples:

<ul>
    {% show_sub_menu 1 %}
</ul>

root_levelを0に設定した例:

<ul>
    {% show_sub_menu 1 0 %}
</ul>

カスタムテンプレートを指定した例:

<ul>
    {% show_sub_menu 1 None 100 "myapp/submenu.html" %}
</ul>

show_breadcrumb¶

現在のページのパンくずリストを生成します。引数は全てオプションで、省略可能です。

第1引数の start_level (default=0) は、どの階層から表示するかを示します。

第2引数の template (default=menu/breadcrumb.html) は、テンプレートファイルを指定します。

第3引数の only_visible (default=True)は、True(=1)であればナビゲーションメニューに表示されるページのみ表示します。

Example:

{% show_breadcrumb %}

2階層目以降を表示し、テンプレートを変更した例:

{% show_breadcrumb 2 "myapp/breadcrumb.html" %}

全てのページをパンくずリストで生成する例:

{% show_breadcrumb 0 "menu/breadcrumb.html" 0 %}

外部システムなどで作成したページは(JSM7で未管理のページ)は、パンくずリストを生成しません。 この場合、現在のページに適用されたテンプレート(例:base.html)のパンくずリストブロックを別のテンプレート(例:override.html)で上書きして対応します。

base.html例:

<ul>
    {% block breadcrumb %}
    {% show_breadcrumb %}
    {% endblock %}
<ul>

override.html例:

{% block breadcrumb %}
<li><a href="/">home</a></li>
<li>My current page</li>
{% endblock %}

page_language_url¶

現在のページに対する別言語のページURLを取得します:

{% page_language_url de %}
{% page_language_url fr %}
{% page_language_url en %}

render_block, addtoblock¶

addtoblock で記述したHTMTLを render_block を記載した位置に置換します。 render_block は、 {% render_block <name> %} の様に使い、 addtoblock は {% addtoblock <name> [strip] %}...{% endaddtoblock %} の様に使います。 strip 引数を使った場合は、HTML前後の空白文字を削除します。

使用例:

{% load cms_tags, menu_tags, sekizai_tags %}

<html>
<head>
{% render_block "css" %}
</head>
<body>
Your content comes here.
Maybe you want to throw in some css:
{% addtoblock "css" %}
<link href="/media/css/stylesheet.css" media="screen" rel="stylesheet" type="text/css" />
{% endaddtoblock %}
Some more content here.
{% addtoblock "js" %}
<script type="text/javascript">
alert("Hello django-sekizai");
</script>
{% endaddtoblock %}
And even more content.
{% render_block "js" %}
<body>
</html>

上記のHTMLは次のようにレンダリングされます:

<html>
<head>
<link href="/media/css/stylesheet.css" media="screen" rel="stylesheet" type="text/css" />
</head>
<body>
Your content comes here.
Maybe you want to throw in some css:
Some more content here.
And even more content.
<script type="text/javascript">
alert("Hello django-sekizai");
</script>
<body>
</html>

※

render_block は、多くのテンプレートから継承されるベーステンプレート(base.html)に記載することを推奨します。

警告

{% render_block %} を、他のブロックタグの中に定義しないで下さい。 {% addtoblock %} を定義したテンプレートを継承する場合には、必ず、{% block %}...{% endblock %}タグの中に {% addtoblock %} を記述して下さい。

show_topics_list¶

任意のページのリンクを抽出して表示します。 6つの引数を指定でき、第1と第2引数とが必須です。

第1引数の placeholder_name にはリンクの抽出対象となるplaceholder_nameを指定します。

第2引数の page_lookup にはページの詳細設定で指定するページIDを指定します。 これがリンク抽出ページの指定です。

第3引数の limit(default=5) は抽出するリンクの上限を指定します。

第4引数の template(default=topics.html) は表示用のテンプレートを指定します。

第5引数の lang(default=None) はja,enなどの言語を指定します。通常は指定不要です。

第6引数の site(default=None) は他のサイトのページを指定します。通常は指定不要です。

以下は、topicsというページIDを持つページのarticle_content内にあるリンクを抽出します:

{% show_topics_list "article_content" "topics" %}

MANUAL MENU

JSM7 概要
  • サイトメーカー7とは
  • サイトメーカー7の特徴
  • サイトメーカー7の機能
ページ管理ユーザー
  • サイトメーカー7の構成
  • ログイン・ログアウト
  • 管理画面の概要
  • ページ作成(見たまま編集)
  • 稟議決裁(公開承認)
  • 画像・ファイルの管理
  • ページの管理
  • 機能別の説明
アカウント管理ユーザー
  • 管理者用の管理画面
  • 管理者の役割
    • アカウントの管理
      • ユーザー
      • グループ
  • ページ毎の権限管理
  • アクセス権管理
    • サイト全体
    • ページ毎
    • ファイル置場
  • アクセス解析
  • ドメイン設定
テンプレート管理ユーザー
  • 基礎知識
  • CMSタグリファレンス
  • 組み込みタグ/フィルタリファレンス
  • 主要CMSパーツのテンプレート
  • ホーム
製品のご購入・ご相談はSitemaker7お問い合わせフォームまたはJaproまで。電話による製品のご購入・ご相談は0859-68-3032まで。
Copyright © 2015 Japro. All rights reserved.
  • 利用規約
  • プライバシーポリシー