5-2.デザイン・テンプレートの独自カスタマイズ

ここではデザイン・テンプレートの独自カスタマイズについて説明します。

 

はじめに

echoCMSでは、テンプレート処理にSmartyを使用しております。

通常の静的HTMLに加え、動的処理をテンプレート内に記述することができます。

Smartyを使用した記述方法は、以下をご参照ください。

Smarty マニュアル | Smarty(http://www.smarty.net/docsv2/ja/)

 

使用可能定数

テンプレート内で使用できる定数は以下の通りです。

 

サイト全体に係る定数$cms

$cmsはサイト全体に係る設定値を取得することができます。

CMS管理画面「基本設定」の設定項目が多く含まれます。

$cms.id CMS_IDを取得することができます。 (例:hogehoge.echocms.jp)
$cms.domain サイトドメインを取得することができます。(例:hogehoge.echocms.jp)
$cms.title サイトタイトルを取得することができます。
$cms.summary サイト要約を取得することができます。
$cms.keywords サイトキーワードを取得することができます。
$cms.header_logo サイトロゴのURLを取得することができます。
$cms.footer_text サイトフッターに表示するテキストを取得することができます。
$cms.main_rss サイトのメインRSSのURLを取得することが出来ます。
$cms.mailform_email メールフォーム送信先メールアドレスを取得することができます。
$cms.allow_comment コメント許否設定を取得することができます。(1:許可、0:拒否)
$cms.allow_trackback トラックバック許否設定を取得することができます。(1:許可、0:拒否)
$cms.allow_edit_comment コメント編集の許否設定を取得することができます。(1:許可、0:拒否)
$cms.comment_sort コメントのソート順を取得することができます。(1:降順、0:昇順)
$cms.trackback_sort トラックバックのソート順を取得することができます。(1:降順、0:昇順)
$cms.allow_mobile モバイル端末からの閲覧許否設定を取得することができます。(1:許可、0:拒否)

 

各ページに係る定数$page

$pageはサイト全体に係る設定値を取得することができます。

$page.id ページの内部IDを取得することができます。
$page.url ページのURLを取得することができます。(トップページは空白)
$page.title ページタイトルを取得することができます。
$page.summary ページの要約を取得することができます。
$page.text ページの内容を取得することができます。
$page.keywords ページに設定されているキーワードを取得することができます。
$page.template_id ページに設定されているテンプレートIDを取得することができます。(デフォルトテンプレートの場合は空白)
$page.mobile_template_id ページに設定されているモバイルテンプレートIDを取得することができます。(デフォルトテンプレートの場合は空白)
$page.depth ページの階層を取得することができます。(0は最上位)
$page.parent_page_id ページの親ページIDを取得することができます。(最上位の場合は空白)
$page.page_order 同一階層内でのページの並び値を取得することができます。
$page.lastupdate_user ページを最後に更新したユーザーのIDを取得することができます。
$page.lastupdate ページを最後に更新した日時をUnixTimeStamp形式で取得することができます。
$page.allow_mobile ページのモバイル閲覧許否設定を取得することができます。(1:許可、0:拒否)
$page.allow_comment ページのコメント許否設定を取得することが出来ます。
$page.allow_trackback ページのトラックバック許否設定を取得することができます。(1:許可、0:拒否)
$page.show_mailform ページのメールフォーム表示設定を取得することができます。(1:表示、0:非表示)
$page.published_at ページの日時をUnixTimeStamp形式で取得することができます。
$page.status ページの公開設定を取得することができます。(1:公開、0:非公開)
$page.created_at ページの作成日時をUnixTimeStamp形式で取得することができます。

 

サイト階層情報に係る$pageTree

$pageTreeはサイトの階層情報に係る設定値を取得することができます。

メニュー生成などに利用されます。

$pageTree[].id ページの内部IDを取得することができます。
$pageTree[].url ページのURLを取得することができます。(トップページは空白)
$pageTree[].depth ページの階層を取得することができます。(0は最上位)
$pageTree[].parent_page_id ページの親ページIDを取得することができます。(最上位の場合は空白)
$pageTree[].title ページのタイトルを取得することができます。
$pageTree[].summary ページの要約を取得することができます。
$pageTree[].show_menulist メニューリストに表示するかどうかを取得することができます。(1:表示、0:非表示)
$pageTree[].published_at

ページの日時をUnixTimeStamp形式で取得することができます。

 

$pageTreeは2次元配列となっています。foreach文を使用して取得してください。

{foreach from=$pageTree item=value}

    ページID:{$value.id}

    ページURL:{$value.url}

    階層:{$value.depth}

{/foreach}

 

メタタグの内容に係る$head

$head.summary

要約に表示する内容を取得することができます。

$head.robots ロボット向けに「index, follow」を表示します。
$head.keywords

キーワードに表示する内容を取得することができます。

 

サイドバーウィジェットの内容に係る$sideBar

$sideBarはサイドバーウィジェットに係る設定値を取得することができます。

$sidebar[位置][].name ウィジェット名を取得することができます。
$sidebar[位置][].widget_type

ウィジェットのタイプを取得することができます。

rssico: RSSアイコン

banner: バナー

free: フリーゾーン

recent_comment: 新着コメント

recent_trackback: 新着トラックバック

rss: RSSリーダー

$sidebar[位置][].make

表示するコンテンツを取得することができます。

 

$sideBarは3次元配列となっています。位置「left」に表示するウィジェットは、以下のようにして取得します。

{foreach from=$sidebar.left item=value}

    ウィジェット名:{$value.name}

    ウィジェットのタイプ:{$value.widget_type}

    表示するコンテンツ:{$value.make}
{/foreach}

 

パンくずリストに係る$breadCrumb

$breadCrumbを使用すれば、最上位階層のページから現在のページまでの遷移情報を取得することができます。

$breadCrumb[].url ページURLを取得することが出来ます。
$breadCrumb[].title

ページタイトルを取得することができます。

 

$breadCrumbは2次元配列となっています。foreach文を使用して取得してください。

{foreach from=$breadCrumb item=value}

    ページタイトル: {$value.title}

    ページURL: {$value.url}

{/foreach}

 

コメントに係る$comment

現在のページに投稿されているコメントを取得することができます。

 
スレッド$comment[0]
$comment[0].id コメントの内部IDを取得することができます。
$comment[0].name コメントの投稿者名を取得することができます。
$comment[0].title

コメントタイトルを取得することができます。

$comment[0].comment コメントの内容を取得することができます。
$comment[0].created_at コメントの投稿日時を取得することができます。
 
レス$comment[1]

スレッドに対するレスを取得することができます。

$comment[1][コメント内部ID].id コメントの内部IDを取得することができます。
$comment[1][コメント内部ID].name コメントの投稿者名を取得することができます。
$comment[1][コメント内部ID].title

コメントタイトルを取得することができます。

$comment[1][コメント内部ID].comment コメントの内容を取得することができます。
$comment[1][コメント内部ID].created_at コメントの投稿日時を取得することができます。
 

トラックバックに係る$trackback

現在のページに投稿されているトラックバックを取得することができます。

$trackback[].id トラックバックの内部IDを取得することができます。
$trackback[].blogname トラックバックの送信元名を取得することができます。
$trackback[].url トラックバックの送信元URLを取得することができます。
$trackback[].title トラックバックのタイトルを取得することができます。
$trackback[].text トラックバックの内容を取得することができます。
$trackback[].created_at トラックバックの投稿日時を取得することができます。

 

関連ページ