r3のテンプレートマークアップ、プロジェクトの保存・読み込み
テンプレートマークアップ
http://sourceforge.net/docman/display_doc.php?docid=51461&group_id=192720 の訳です
<r3:cphp>
テンプレート生成時に実行するPHPコードを記述します。
<r3:cphp>print("Hello, world!");</r3:cphp>
もちろん、テンプレート表示時に実行させるコードは、<?php 〜 ?> で囲むことになります。
<r3:include>
チュートリアルでも出てきていた、サブテンプレートを読み込む構文です
<r3:include path="included.r3" args="1,2,3" />
args
属性は、サブテンプレートに渡す引数を含めることができ、上のように 1,2,3 を渡すと
<r3:cphp> $args = $context->getTemplateArgs(); print "first arg is {$args[0]}"; </r3:cphp>
と、最初の引数 1 を受け取ることができます。
配列に見立ててevalしてるようなので(おいおい)、文字列を渡したいときは、args="'abc', 2" とシングルクォーテーションで囲むなりする必要があります。
また、cphpブロック内で設定した変数を渡すこともできます。
<r3:cphp> $arg1 = "Hello World!"; $arg2 = "and Goodnight!"; </r3:cphp> <r3:include path="included.r3" args="$arg1,$arg2" />
<r3:perl>
未実装とのこと。
<r3:trans>
翻訳させたい箇所を囲みます。
<r3:trans>Text to be translated</r3:trans>
<r3:var>
変数の値を出力させる際に使います。これもテンプレート生成時の話です。
<r3:cphp> $num = rand(); </r3:cphp> You have <r3:var>$num</r3:var> messages.
プロジェクトの保存・読み込み
プロジェクトを、1つのファイルに固めることができます。もちろん、loadも可能です。が、容赦なくクリアして上書きされます。
$ r3 setup save [-f] filename $ r3 setup load filename
save は -f
で、ファイルが存在しても上書きします。
出力されるファイルは、gzipped tar archiveで、解凍すると、各種設定(辞書や、継承ツリーなど)のXMLと、テンプレートを固めたtarが含まれています。