デザインテンプレートタグ/式言語

定数

【true,false】

 論理型の真(true)、偽(false)をあらわす定数です。

【null】

 どの型にも属さない、未定義を表す定数です。

【整数】

 整数定数は、通常通り0~9の文字を組み合わせて表現します。

【文字列】

 文字列定数は、シングルクォートで囲みます。'hoge'のように表現します。

初期変数

 現在のセクションが、変数sectionに設定されています。
現在の時刻(静的HTMLの場合は、再構築した時刻)が、変数nowtimeに設定されています。
カテゴリーが指定されるページでは、変数categoryに、当該カテゴリーが設定されています。
エントリーが指定されるページでは、変数entryに、当該エントリーが設定されています。
モバイルが指定されるページでは、変数mobileに、d,a,sのどれかが設定されています。
ページネートされるページでは、変数pageに、ページ番号が設定されています。

組み込み関数

【引数と連想配列】

 いくつかの関数は、引数を連想配列のように与えます。
式言語自体には、連想配列という型はないため、あくまで擬似的なものです。
具体的には、次のように呼び出します。

<* Set name="x" value="{ count_entries(:category_code=>'hoge',:order=>'sort') }" *>

 これは、count_entries関数を呼び出すにあたり、category_codeとして'hoge'を指定、orderとして'sort'を指定した
呼び出し方です。引数はいわゆる連想配列のような形式となっていますが、正確には連想配列ではなく、単なる引数の文法となります。

【count_entries(引数1:連想配列)】

 引数1の連想配列のキーとして使用できるのは、以下になります。
:from_date : 日付型
:to_date : 日付型
:category_name : 文字列型
:category_no : 文字列型
:offset : 整数型
:size : 整数型
:entry_no : 整数型/文字列型
:year : 整数型/文字列型
:month : 整数型/文字列型
:section_id : 整数型/文字列型(非推奨)
:section_code : 文字列型

 指定された条件でエントリーを検索し、その件数を整数型で返します。 

【create_date(引数1:整数,引数2:整数,引数3:整数,引数4:整数,引数5:整数)】

 引数1~5をそれぞれ年、月、日、時、分とみなして、日付型を返します。
引数1~5はそれぞれ省略可能ですが、引数は前のものを省略した場合、後に続く引数はすべて省略されたものとみなされます。
省略した場合は、それぞれ、年は2009、月は1、日は1、時は0、分は0とみなされます。

【create_months(引数1:連想配列)】

 引数1の連想配列のキーとして使用できるのは、以下になります。

:begin : 日付型
:category_name : 文字列型
:category_no : 整数型/文字列型
:category_code : 文字列型
:end : 日付型
:only_entry : 論理型
:period : 整数型
:section_id : 整数型/文字列型
:section_code : 文字列型

 beginで指定される月の初日~endで指定される月の初日まで、毎月の初日を日付型の要素とする、配列を返します。
ただし、エントリーが一つもない月は含みません。
エントリーのあるなしの判断は、指定されたカテゴリーやセクションを検索条件として含めて検索して判断します。
beginが省略された場合は、現在の時刻(nowtime)が設定されます。
endが省略された場合は、beginの月にperiodを足したものが、endの月になります。
end,periodがともに省略された場合は、period=12として扱われます。
sectionが指定されていない場合は、デザインテンプレートのセクションが設定されます。

【find_categories(引数1:連想配列)】

 引数1の連想配列のキーとして使用できるのは、以下になります。

:section_id : 整数型/文字列型
:section_code : 文字列型

 指定されたセクションのカテゴリーの一覧を配列型で返します。
sectionが指定されていない場合は、デザインテンプレートのセクションが設定されます。

【find_entries(引数1:連想配列)】

 引数1の連想配列のキーとして使用できるのは、以下になります。

:from_date : 日付型
:to_date : 日付型
:category_name : 文字列型
:category_no : 文字列型
:offset : 整数型
:page : 整数型
:per_page : 整数型
:size : 整数型
:entry_no : 整数型/文字列型
:year : 整数型/文字列型
:month : 整数型/文字列型
:section_id : 整数型/文字列型(非推奨)
:section_code : 文字列型
:sort : 文字列型
 
 指定された条件で検索し、その検索結果を配列型で返します。ただし、:pageが設定されている場合は、単純な配列型ではなく、ページネート専用のメソッドが使えるようになります。

【hbr(引数1:文字列型)】

 引数1にHTMLエスケープ処理(<を&lt;に変換するなど)を行い、また、改行を<br />タグに変換した文字列を返します。

【int_array(引数1:整数,引数2:整数)】

 引数1~引数2までの整数からなる配列を作成します。

【latest_date_of_entries(引数1:連想配列)】

 引数1で指定される検索条件で得られたエントリーの中で、最新のものの日付を日付型で返します。
引数1のキーとして使用可能なのは、find_entriesとほぼ同じですが、sortキーだけは使用出来ません。

【link(引数1:文字列型;引数2:連想配列)】

 引数1で指定される名前のデザインテンプレートへのリンクを作成します。
引数2で、デザインテンプレートに引き渡すパラメータを指定します。
引数1と引数2はセミコロンで区切られることに注意。

 引数2のキーとして使用可能なのは、以下になります。

:entry_no
:category_no
:category_code
:year
:month
:day
:mobile
:section_id
:section_code

 mobileに関しては、省略された場合、現在のキャリア(mobile)が指定されたことになります。 

【mobile_head(引数1:文字列型)】

 引数1は、'd','a','s'のどれかであり、それぞれ、ドコモ、AU,ソフトバンクをあらわします。
引数1で指定されるキャリアに応じた、HTMLのヘッダ部分(xml宣言とDOCTYPE)を文字列型で返します。
引数1が省略された場合は、現在のキャリア(mobile)が設定されます。

【oldest_date_of_entries(引数1:連想配列)】

 引数1で指定される検索条件で得られたエントリーの中で、最古のものの日付を日付型で返します。
引数1のキーとして使用可能なのは、find_entriesとほぼ同じですが、sortキーだけは使用出来ません。

【raw_text(引数1:文字列型)】

 引数1のHTMLのタグをすべて除去し、プレーンテキストのみを抽出した文字列を返します。

【short(引数1:文字列型,引数2:整数型)】

 引数2で与えられた文字数で、引数1を切断した文字列を返します。引数1の文字列の長さが引数2で与えられたより
短い場合は、なにもしません。切断が実行された場合は、最後に...が付きます。

整数

 フィールド なし
メソッド to_s()、四則演算、剰余、比較、符号反転

【to_s()】

 文字列型に変換します。

【四則演算】

 整数同士で、+,-,*,/により、四則演算が行えます。

【剰余】

 整数同士で、%により剰余を計算できます。

【比較】

 整数同士で、==,!=,<,<=,>,>=により、比較を行うことが出来ます。
比較の結果は、論理型になります。

【符号反転】

 整数の前に-をつけることにより、符号を反転することが出来ます。

文字列

 フィールド なし
メソッド hbr(),raw_text(),short(),加算,比較

【empty?()】

 文字列の長さがゼロの場合に真、それ以外で偽を返します

【hbr()】

 HTMLエスケープ処理(<を&lt;に変換するなど)を行い、また、改行を<br />タグに変換した文字列を返します。

【raw_text()】

 HTMLのタグをすべて除去し、プレーンテキストのみを抽出した文字列を返します。

【short(引数1:整数)】

 引数1で与えられた文字数で、テキストを切断した文字列を返します。もともとの文字列の長さが引数1で与えられたより
短い場合は、なにもしません。切断が実行された場合は、最後に...が付きます。

【size()】

 文字列の長さを返します

【加算】

 文字列同士を、+により連結することが出来ます。

【比較】

 文字列同士を、==,!=により比較することが出来ます。

日付

 フィールド year,month,day,hour,minute
メソッド month_first(),month_last(),day_first(),add_year(),add_month(),add_day(),add_hour(),format(),比較

【year】

 日付から年を整数として取り出します。

【month】

 日付から月を整数として取り出します。

【day】

 日付から日を整数として取り出します。

【hour】

 日付から時間を整数として取り出します。

【minute】

 日付から分を整数として取り出します。

【month_first()】

 その月の最初の日(の0時0分)を日付として取り出します。

【month_last()】

 その月の最後の日(の0時0分)を日付として取り出します。

【day_first()】

 その日の最初の時分(つまり、0時0分)を日付として取り出します。

【add_year(引数1:整数)】

 年を加算します。負の数を与えれば、減算することが出来ます。

【add_month(引数1:整数)】

 月を加算します。負の数を与えれば、減算することが出来ます。

【add_day(引数1:整数)】

 日を加算します。負の数を与えれば、減算することが出来ます。

【add_hour(引数1:整数)】

 時刻を加算します。負の数を与えれば、減算することが出来ます。

【format(引数1:文字列)】

 引数1で与えられたフォーマットに従い、文字列を返します。フォーマットは

  %Y 年
%m 月
%d 日
%H 時
%M 分

となります。

【比較】

 日付同士で、==,!=,<,<=,>,>=の比較が行えます。

論理型

 フィールド なし
メソッド 論理和、論理積

【論理和、論理積】

 論理型同士で、||,&&により、論理和、論理積を計算することが出来ます。

カテゴリー

 フィールド code,category_code,category_no,name
メソッド なし

【code】

 カテゴリーコードを文字列型で返します。

【category_no】

 カテゴリーのユニークなno(番号)を文字列型で返します。(非推奨)

【name】

 カテゴリーの名前を返します。

エントリー

 フィールド title,content,entry_no,author,date,files,page_title,page_keyword,page_description
メソッド categories(),ex_field_content(),files_count(),has_ex_field?(),link()

【title】

 記事のタイトルを文字列型で返します。

【content】

 記事の内容を文字列型で返します。

【author】

 記事を作成した人を管理者型で返します。

【date】

 記事の表示日時を日付型で返します。

【files】

 記事の添付ファイルを、配列型で返します。配列の各要素は、ファイル型になります。

【page_title】

 記事のページタイトルを返します。

【page_keyword】

 記事のページキーワードを返します。

【page_description】

 記事のページ記述を返します。

【sort】

 ソート番号を返します。

【categories()】

 このエントリーにひもづくカテゴリーの配列を返します。

【ex_field_content(引数1:文字列型)】

 引数1で指定される名前を持った追加フィールドの内容を、文字列型で返します。
変数mobileが設定されている場合は、mobileの内容に従い、絵文字コードの変換を行います。

【ex_field_images_count(引数1:文字列型)】

 追加フィールドがリッチテキストエディタタイプだった場合に、wysiwygエディタでアップロードされた画像の総数を返します。引数1は、追加フィールドを指定するための値です。

【ex_field_image(引数1:文字列型,引数2:数値型)】

 追加フィールドがリッチテキストエディタタイプだった場合に、wysiwygエディタでアップロードされた画像のURLを返します。引数1は、追加フィールドを指定するための値。引数2は、何番目の画像であるかを指定します。また、第3引数を用いて、サイズを指定することも可能です。ex_field_image('補足',1;:size=>200)のように使います。image()メソッドも参考。また、第2引数は省略すると、1と記載したことと同じになります。

【files_content()】

 記事に添付されたファイル数を返します。

【has_ex_field?(引数1:文字列型)】

 引数1で指定される名前を持った追加フィールドが存在するかどうかを返します。

【image(引数1:数値)】

引数1で指定された番号の画像のurlを返します。画像は、記事内容のwysiwygエディタでアップロードされたものです。また、第二引数使用することで、サイズ変更した画像のURLを返すことも出来ます。その場合、image(1;:size=>100)のように使い、100ピクセルのサイズの画像を作成できます。ただし、この画像サイズの変更は、動的な運用の場合のみ可能です。 (第1引数と第2引数の間は、セミコロンで区切ることに注意してください)

【images_count()】

 記事内容のwysiwygエディタでアップロードされた画像数を返します。

【link(引数1:文字列型)】

 引数1で指定される名前を持ったデザインテンプレートを使用したエントリーの個別ページへのリンクを作成します。

添付ファイル

 フィールド filename,extension,link
 

【filename】

 添付ファイルのファイル名を文字列で返します。

【extension】

 添付ファイルの拡張子を文字列で返します。

【link】

 添付ファイルへのリンクを文字列で返します。

管理者

 フィールド name
メソッド なし

【name】

 管理者の表示名を文字列型で返します。

セクション

 フィールド code,no,name
メソッド なし

【code】

 セクションコードを文字列型で返します。

【no】

 セクションNo(番号)を文字列型で返します。

【name】

 セクションの名前を文字列型で返します。

配列

 フィールド なし
メソッド count(),参照
特殊メソッド is_pref(),is_next(),current_page(),paginate_footer(),page_count(),first_item(),last_item(),total_entries(),total_pages()

【count()】

 配列の要素数を整数型で返します。

【at(引数1:整数)】

 引数1番目の要素を取得します。1番目の要素を取得する場合、引数1は0になります。(ゼロオリジン)
型は、要素の型となります。
 

【特殊メソッド】

 特殊メソッドは、ページネートによってentriesを取得した場合に使えます。
 paginate_footerのみ引数があり、第一引数は整数型で、現在のページを含めて何ページ分のページネートフッターを作成するかを指定します。第二引数は論理型で、trueだと、1ページ目、最終ページ目を含んだページネートの配列になります。第二引数は省略可能で、省略すると、trueとみなされます。