M-Blog

2.テンプレート変数で@Bindingsを使う

「グローバル設定」の「セキュリティ」タブから「@Bindingsを有効にする」を「はい」にしてください。
リソース編集画面の表示される結果は参考画像を参照してください。

テンプレート変数の基本操作はこちら

こんなときに

  • データベースから「オプション」を設定したい
  • 規定値にPHPを使いたい

オプションに使用可

テンプレート変数の「入力オプション」、Custom Form・DropDown List Menu・ListBox・Radio Options・Check Boxで使用可能です。

@CHUNK

チャンクから読み込みます。

例:

//テンプレート変数名:CHUNK
//オプション
@CHUNK example
//チャンク名:example
//チャンクコード
2016||2015||2014||2013

@DOCUMENT/@DOC

リソースの本文をリソースIDから読み込みます。

例:

//テンプレート変数名:DOCUMENT
//オプション
//公開済のリソースであること
@DOCUMENT 2
//リソースID2の本文
2016||2015||2014||2013

@EVAL

PHPを書いて設定します。

例:

//テンプレート変数名:EVAL
//オプション
//返すのは配列でも可能 @EVAL $stop = 2013; $year = date('Y'); while ($year >= $stop){ $archives[] = $year; $year--; } return $archives;

@SELECT

データーベースから読み込みます。

例:

//テンプレート変数名:SELECT
//オプション
//親リソースIDが5のリソースで選択肢にページタイトル、値にそのリソースIDを設定
@SELECT `pagetitle` AS `name`,`id` FROM `[+prefix+]site_content` WHERE `published` = 1 AND `deleted` = 0 AND `parent` = 5 ORDER BY `menuindex` ASC
//リソースID5のサブリソース
リソースID5
-ページタイトル「2016」
-ページタイトル「2015」
-ページタイトル「2014」
-ページタイトル「2013」

@FILE

ファイルから読み込みます。

例:

//テンプレート変数名:FILE
//オプション
//相対パスは読み込めない
//PHPファイルは読み込めない
@FILE https://modx.mblo.info/content/files/example.txt
//example.txtファイル内容
2016||2015||2014||2013

@DIRECTORY/@DIR

指定ディレクトリから読み込みます。[*DIRECTORY*]は選択したファイル名が表示されます。

例:

//テンプレート変数名:DIRECTORY
//オプション
@DIRECTORY content/files/example
//exampleディレクトリ内
2016.txt
2015.txt
2014.txt
2013.txt

@MODX: /@PARSE:

[*変数*]・[(コンフィグ変数)]・{{チャンク}}・[[スニペット]]から読み込むことができます。
※[*変数*]の場合はパースされずにそのままの文字列で編集画面には表示されます。

例:

//テンプレート変数名:MODX
//オプション
@MODX: [[example]]
//スニペット名:example
$stop = 2013; $year = date('Y'); while ($year >= $stop){ $archives[] = $year; $year--; } return implode('||',$archives);

@NULL/@NONE

何もしないため空のリストが表示されます。使い道は不明。

例:

//テンプレート変数名:NULL
//オプション
@NULL

規定値で使用可

テンプレート変数の「規定値」で使用可能です。

@@EVAL: /<?php

規定値をPHPで設定できます。

例:

//テンプレート変数名:EVAL
//規定値
@@EVAL:
return date('Y');

//または

<?php 
return date('Y');

@INHERIT

入力値が空の場合、親リソースの同テンプレート変数の値を受け継ぎます。

例:

//テンプレート変数名:INHERIT
//規定値
@INHERIT

以上、@Bindingsを使えるようになるとリソース編集画面の設定も幅が広がります。次回はカスタムフォームとカスタムプロセッサについてです。

参考画像

No.1

© 2015 - 2019 M-Blog. Powered by MODX.

(URL:https://modx.mblo.info/,E-mail:info@mblo.info)

ブログについて
MODX Evolutionを使ってブログをしています。基本的にはまとめ、チートシートのメモなど、他にも日常のことをぼちぼち書いています。

コンテンツ
ブログ
MODXまとめ
MODXチートシート

動作環境
このブログはで運用しています。
・Apache 2.2.31
・OS Free BSD
・PHP 7.1.28
・MySQL 5.5.38
・MODX 1.0.22J-beta1

ブログ更新通知
RSS | ATOM

まとめ更新通知
RSS | ATOM

フィードバック

お問い合わせ
Twitter