[*テンプレート変数*]
テンプレート変数の使い方・実例
<html>
<head>
<title>[*pagetitle*]</title>
<meta name="description" content="[*description*]" />
<meta name="keywords" content="[*キーワード*]" />
</head>
<body>
<h1>[*longtitle*]</h1>
<div>[*content*]</div>
</body>
</html>
[*pagetitle*] などのリソース変数と同じ書式です。
スニペット・プラグイン内から呼び出す方法
二つのアプローチがあります。まずは覚えやすい方法から紹介します。
$string = $modx->documentObject['テンプレート変数名'][1];
ウィジェット(出力フィルター)を適用していない場合は、上記のように2番目(1)の要素を得てください。このように呼び出すと、キャッシュがある場合はキャッシュから読み出します。
$array = $modx->getTemplateVarOutput(array('テンプレート変数名'));
$string = $array['テンプレート変数名'];
ウィジェットを適用している場合は、上記のメソッドを用いてアクセスします。このメソッド単位ではキャッシュを用いませんが、MODXはスニペットコール単位でキャッシュしますので大差ありません。
ウィジェットの処理を通して値を得られる、後者の $modx->getTemplateVarOutput メソッドの利用をおすすめします。前者の方法はリソース変数の呼び出し方と似ていて覚えやすいので、いちおう紹介させていただきました。
documentObjectとしてのテンプレート変数の構造
0 - $tv['name'] - テンプレート変数名
1 - $tv['value'] - 値
2 - $tv['display'] - ウィジェット(出力フィルター)
3 - $tv['display_params'] - ウィジェットのパラメータ
4 - $tv['type'] - 入力インターフェイス(text・チェックボックス・テキストエリアなど)
カスタムウィジェット
Note: [+value+] is only special place holder.
1) chunk
@CHUNK: チャンク名
[chunk-name]
<img src="[+value+]" alt="[*pagetitle*]-[(site_name)]" />
または
[chunk-name]
<a href="[+value+]">
<img src="phpThumb.php?src=[+value+]&w=200" alt="[*pagetitle*]-[(site_name)]" />
</a>
2) include
@INCLUDE: tv.inc
[tv.inc]-----------------
<?php
$value ='[*pagetitle*]-[(site_name)]';
?>
This method only rewrites $value. The array and the object can be passed. In this correspondence, this method is the most important.
-------------------------
3) file
@FILE: tv.inc
[tv.inc]-----------------
<img src="[+value+]" alt="[*pagetitle*]-[(site_name)]" />
-------------------------
4) eval
@EVAL: return '<img src="' . $value . '" alt="[*pagetitle*]" />';
5) direct
<img src="[+value+]" alt="[*pagetitle*]" />
*Important
In case of emptily $value
Output is nothing.
入力タイプ
[sample chunk] (@CHUNK: chunkname)
<input type="text"
id="tv[+field_id+]"
name="tv[+field_id+]"
value="[+field_value+]"
[+field_style+]
tvtype="[+field_type+]"
onchange="documentDirty=true;"
style="width:100%" /><br />
field_id : [+field_id+]<br />
field_type : [+field_type+]<br />
default_text : [+default_text+]<br />
field_value : [+field_value+]<br />
field_style : [+field_style+]<br />
site_name : [(site_name)]<br />
pagetitle : [*pagetitle*]<br />
chunk : {{chunk}}<br />
snippet : [[snippet]]









