URLコンテキストの表示制御

URLの例を上げて実際の動きをご紹介します。

コンテンツを指定するコンテキスト

ブログコード、カテゴリーコード、エントリーコードなどの情報(=コンテンツの情報)から、どの情報を表示するか指示が可能です。指示した内容に合わせて、テンプレートに設置しているモジュールの表示結果を制御します。

http://www.example.com/というドメインで、「appleple」というブログコードのトップページを表示するためには以下のようなURLになります。

<!-- トップのテンプレートが使用される -->
http://www.example.com/appleple/

http://www.example.com/というドメインで、「appleple」というブログコードかつ、「news」というカテゴリーの一覧を表示するためには以下のようなURLになります。

<!-- 一覧のテンプレートが使用される -->
http://www.example.com/appleple/news/

http://www.example.com/というドメインで、「appleple」というブログコードかつ、「news」というカテゴリーに存在する「entry-1.html」という一記事を表示するためには以下のようなURLになります。

<!-- 詳細のテンプレートが使用される -->
http://www.example.com/appleple/news/entry-1.html

http://www.example.com/というドメインで、ルートブログ内に存在する「news」というカテゴリーの「campaign」という子カテゴリーの一覧を表示するためには以下のようなURLになります。

<!-- 一覧のテンプレートが使用される -->
http://www.example.com/news/campaign/

状況を指定するコンテキスト

キーワードやタグによる検索、日付、ページなどの情報(=状況の情報)が含まれていた場合にも、モジュールの表示結果に影響し、絞り込んだ情報を表示できます。

2ページ目を表示する場合には以下のようなURLになります。

<!-- 一覧のテンプレートが使用される -->
http://www.example.com/news/campaign/page/2/

「2014年1月」を表示する場合には以下のようなURLになります。

<!-- 一覧のテンプレートが使用される -->
http://www.example.com/news/campaign/2014/01/

モジュールが出力する変数の表示を加工したい

説明

a-blog cmsでは、各モジュールがそれぞれ出力する変数(情報)の内容を、指定した規則にしたがって加工・編集することができます。

回答

校正オプション:リファレンス」を参考に、表示する変数の後ろに校正オプションの記述を追加してください。

校正オプションは変数の内容を、最終的に出力する前に指定した内容で変換します。以下に例として一部を示します。

数字のカンマ区切り : [number_format] 数字を千位毎にカンマ区切りにします

改行をHTMLに変換 : [nl2br] 改行コードを <br /> に変換します

一行をリストのHTMLに変換 : [list] 一行ごとに <li> ~ </li> に変換します

テンプレートの基本

a-blog cms で更新ができるページを作るためのHTMLファイルをテンプレートファイルといいます。テンプレートファイルにいろいろなモジュールを貼り付けていくことで、データベースに保存されている情報をHTMLに配置していきます。

a-blog cms のテンプレートファイルは基本的にはHTMLファイルで作られており、PHPのプログラムを直接記述することはありません。データベースに保存されている情報を表示するためのモジュールや、表示/非表示を制御するブロック、外部ファイルを読み込むインクルード、テンプレートのどこに記述しても動作するグローバル変数といった記述を、HTMLファイル内に組み込んで作成することになります。

テンプレート内でエントリーの一覧を表示している例

<!-- BEGIN_MODULE Entry_List -->
<div>
<!--#include file="/admin/module/setting.html"-->
<ul>
	<!-- BEGIN entry:loop -->
	<li><a href="{url}">{title}</a></li>
	<!-- END entry:loop -->
</ul>
</div>
<!-- END_MODULE Entry_List -->

この例では、Entry_Listモジュールを使って、エントリーのタイトルとリンク先を出力しています。
<!-- BEGIN entry:loop -->から<!-- END entry:loop -->の間を繰り返し表示する事になります。また、モジュールのコメントタグについては実行後には削除され通常のHTMLソース側には表示されません。

また、a-blog cms ではテンプレートファイルはテキストファイルであれば、どのようなファイルでもテンプレートにできます。

Ver.2.5以前ではブロックがモジュール内で一度しか利用できない仕様となっておりましたが、同じモジュール内でもVer.2.5より再利用できるようになりました。