高度なカスタマイズ
テンプレート:一般的事項
jQuery
INTER-STREAMでは、"jQuery" Javascriptフレームワークを使用しています。
jQueryベースのスクリプトを使用する場合は、既にコードが組み込まれているため、テンプレートの
jQueryバージョン
INTER-STREAMではjQuery1.9.1およびjQuery UI1.10.3をサポートし、検証済みです。但しInternet Explorerでは一部でバージョン1.7.2を使用しています。
jQuery2.0以上についてはInternet Explorer7および8が未サポートのため、検証もおこなっていません。
jQuery1.7.2から1.9.1への切り替え
設定ファイル(config/Config.inc.php)を編集して、以下の行を追加する必要があります。
$JQUERY_UI_URL = '//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js';
常に絶対パスを使用する
画像、CSS、およびスクリプトを参照するには、常に絶対パス(絶対URL)を使用する必要があります。
現在のテーマフォルダにあるファイルを参照
{k.dir_public_frontend}/{k.theme}/folder/file_name.ext
例)現在のテーマの"images"ディレクトリにある画像の参照:
現在のテーマのスタイルフォルダにあるファイルを参照
{k.dir_public_frontend}/{k.theme}/folder_{k.style}/file_name.ext
例)現在のテーマのスタイルの"images"ディレクトリにある画像の参照:
CMSテンプレートラベル
ファイルの組み込み
ファイルの組み込み:{k.incl.file.tpl}
テンプレートを別のテンプレートに組み込む場合は、このラベルを使用してください。
例)ラベルを記述したテンプレートに"inc_header.tpl"ファイルの内容を組み込む:
注:ネスト(入れ子)のレベルは1つだけです。
ユーザーセッション
現在のユーザーデータの取得:{k.user.data_index}
例)現在のユーザー名を反映:
取得可能なラベル:{k.user.id}, {k.user.login}, {k.user.alias}, {k.user.name}, {k.user.surname}, {k.user.email}, {k.user.country}, {k.user.telephone}, {k.user.web}
注:これらのラベルは通常セッション条件付きブロック内で使用されます(下記参照)。
ユーザセッション条件付きブロック(ログイン):<kuser:loggedin> ... </kuser:loggedin>
ユーザーがログインしていない場合、このタグで囲まれたHTMLコードはすべて削除されます。
例)[ログアウト]リンクをユーザーがログイン状態の時にのみ表示:
<a href="#">ログアウト</a>
</kuser:loggedin>
ユーザセッション条件付きブロック(ログアウト):<kuser:loggedout> ... </kuser:loggedout>
ユーザーがログインすると、このタグで囲まれたHTMLコードはすべて削除されます。
例)[ログイン]リンクをユーザーがログアウト状態の時にのみ表示:
<a href="#">ログイン</a>
</kuser:loggedout>
ユーザセッション条件付きブロック(アクセスレベル):<kaccesslevel:n> ... </kaccesslevel:n>
主にバックエンドのテンプレートで使用されます。現在のユーザーのアクセスレベルがタグに指定されているレベルより低い場合、このタグで囲まれているHTMLコードは削除されます。
現在のユーザーのアクセスレベル(number)が"n"かもしくはそれ以下の場合は削除されません。
例)現在のユーザーが管理者("1")またはウェブマスター("0")の場合にのみリンクを表示:
<a href="#">Configuration</a>
</kaccesslevel:1>
アクセスレベル値:0 = ウェブマスター | 1 = 管理者 | 2 = 寄稿者 | 3 = 投稿者 | 4 = 有料購読者 | 5 = (無料)購読者
数字が小さいほどアクセスレベルが高いことを意味します。
詳しくはこちら
CMSデータフェッチ
CMSデータ取得:{k.html.data_index}
CMSからデータを取得するために使用されます。ラベルはページごとに異なります。
例)チャンネルテンプレートでチャンネルのタイトルを取得:
注:ラベルは内部データ構造のインデックスを反映しているため、名前を変更することはできません。
必要に応じて削除、位置変更、複製する事は可能です。
注:[一般設定>一般>HTMLコード]の「<head>sectionHTMLコード」欄などのバックエンドデータフィールドにこれらのラベルを組み込む必要がある場合は{html.data_index}とする必要があります。
保存すると失われたり置き換えられたりする可能性があります。
ループブロック:<kloop:loop_name> ... </kloop:loop_name>
このタグで囲まれたHTMLコードは、ループ内でCMSによって処理されます。ループ内には、このドキュメントで詳述されているCMSラベルのほか、{k.loop.value.data_index}のようなループ固有のラベルがあります。
注:タグやラベルは内部データ構造のインデックスを反映しているため、名前を変更することはできません。
ループブロック内のすべてのHTMLコードは自由に変更できます。また、必要に応じてブロック全体の削除や位置変更する事は可能です。
特別なフロントエンドラベル:{k.html.fe_tpl_file}, {k.html.fe_action}
現在のフロントエンドテンプレートファイル名を印刷する必要がある場合は、{k.html.fe_tpl_file}や{html.fe_tpl_file}のラベルを使用します。
また、現在のフロントエンドのアクション/セクションを印刷する場合は{k.html.fe_action}または{html.fe_action}のラベルを使用します。
言語パック
言語パックのテキスト取得(フロントエンド):{k.lang.fe.language_pack_text_index}
フロントエンド言語パックからテキストを取得するために使用されます。
例)
フロントエンドに英語が選択されている場合は"Channels and pages"、日本語の場合は"チャンネル/ページ"のテキストが戻ります。
言語パックのテキスト取得(バックエンド):{k.lang.be.language_pack_text_index}
バックエンド言語パックからテキストを取得するために使用されます。
例)
フロントエンドに英語が選択されている場合は"Associated Channels"、日本語の場合は"関連チャンネル"のテキストが戻ります。
注:関連する値を取得するには、言語パック内に当該インデックスが存在している必要があります。