M-Blog

モディファイア

モディファイア(修飾子)を利用することによって変数を出力する形式を柔軟に変更できる

空のプレースホルダ

ダミーとして利用する

  • [*phx*]
  • [*dummy*]
  • [+phx+]
  • [+dummy+]

記述例

  • [*リソース変数:modifier*]
  • [*テンプレート変数:modifier*]
  • [+プレースホルダ:modifier+]
  • {{チャンク:modifier}}
  • {{チャンク:modifier? パラメータ=`パラメータの値` }}
  • [[スニペットコール:modifier]]
  • [[スニペットコール:modifier?&パラメータ=`パラメータの値`]]
  • [!スニペットコール:modifier!]
  • [!スニペットコール:modifier?&パラメータ=`パラメータの値`!]
  • [(コンフィグ変数:modifier)]
  • [+@直接記述:modifier+] 1.0.14J-r9以降
  • [*変数@リソースID:modifier*]
  • [*変数@parent:modifier*]
  • [*変数@ultimateparent:modifier*]
  • [*変数@site_start:modifier*]

スニペットはDittoとWayFinder(v.2.1以降)で使用可能。

オプション

1.0.14J-r9以降

クォートを用いることで変数内に「)」がある場合に途切れない

  • [*変数:modifier(opt)*]
  • [*変数:modifier('opt')*]
  • [*変数:modifier("opt")*]
  • [*変数:modifier(`opt`)*]

従来の表記法

  • [*変数:modifier=opt*]
  • [*変数:modifier='opt'*]
  • [*変数:modifier="opt"*]
  • [*変数:modifier=`opt`*]

別名

モディファイアによっては別名がある

例えばinputモディファイアはifモディファイアなので、

[*phx:input(This is a pen.)*]と[*phx:if(This is a pen)*]はまったく同じ機能

別名のあるモディファイアは各モディファイアのページに記載している

モディファイアの連結

複数のモディファイアをコロン(:)を用いることで順番に通すことができる

変数 This is a pen.
表記 [*変数:replace(pen,book):replace(a book,an apple)*]
結果 This is an apple.

複数行での記述例

1.0.16J以降から対応

[*変数:modifire(opt)
:modifire(opt)
:modifire(opt)
:modifire(opt)*]

[*createdon:date(Y)
:gt(2011)
:then(true)
:else(false)*]

モディファイアを用いた条件分岐コメントタグ

真なら「1」、偽なら「0」を返す。

1.0.14J-r9以降

<!--@IF:[*変数:modifier*]>
true
<@ELSE>
false
<@ENDIF-->

<!--@IF:[*phx:if(1):is(1)*]>
1です
<@ELSE>
1ではないです
<@ENDIF-->

従来

<!--@IF:[*変数:modifier*]-->
true
<!--@ELSE-->
false
<!--@ENDIF-->

<!--@IF:[*phx:if=`1`:is=`1`*]-->
1です
<!--@ELSE-->
1ではないです
<!--@ENDIF-->

カスタムモディファイア

ユーザーの設定するモディファイアを作成可能。

1.スニペットまたはチャンクで作成

スニペットの場合はスニペット名に、チャンクの場合はチャンク名に「phx:モディファイア名」
(最新のバージョンでは「phx:」なしでも作成できる、内蔵モディファイア名とカスタムモディファイア名の重複は避ける
スニペットコード、またはチャンクコードに処理を記述
変数の値は$valueに、オプションは$optに代入される

2.外部ファイルで作成

下記のディレクトリに保存する。ファイル名に注意。

  • assets/modifiers/mdf_モディファイア名.inc.php
  • asstes/plugins/phx/modifiers/モディファイア名.phx.php
  • manager/include/extenders/modifiers/mdf_モディファイア名.inc.php

サンプル集にカスタムモディファイアの例がある。

モディファイア一覧

Conditional Modifiers条件式の機能を持つモディファイア
Encode / Decode / Hash / Escapeエンコード・デコードなどをするモディファイア
String Modifiers文字列を出力形式を変換するモディファイア
Date time format日時の出力形式を変換するモディファイア
Mathematical function演算に関連するモディファイア
Resource fieldsリソースから情報を取得するモディファイア
File systemファイルの情報を取得するモディファイア
User info管理ユーザー・ウェブユーザーの情報を取得するモディファイア
Special functions特殊な出力形式に変換するモディファイア

© 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.18
・MySQL 5.5.38
・MODX 1.0.22J-beta1

ブログ更新通知
RSS | ATOM

まとめ更新通知
RSS | ATOM

フィードバック

お問い合わせ
Twitter