条件設定
myFieldRulesで条件に使用できるフィールドと比較方法を説明します。
- 対象製品
- MyAdminPack
- 対象バージョン
- v2
条件の動作
条件は、入力された値や公開ステータスを判定し、ルール内の制御を実行するかどうかを決めます。
- 「すべての条件」:追加した条件がすべて一致したときに制御を実行します。
- 「いずれかの条件」:追加した条件のうち、1件以上が一致したときに制御を実行します。
- 条件なし:対象とレイアウトが一致する場合、常に制御を実行します。
条件は入力値が変わるたびに入力画面で再評価され、保存時にはサーバー側でも評価されます。条件を入れ子にしたり、正規表現やプログラムコードを条件として指定したりする機能はありません。
条件の設定方法
- 入力ルールの編集画面で条件の一致方法を選択します。
- 「条件を追加」を選択します。
- 判定するフィールドを選択します。
- フィールドに応じて表示される比較方法を選択します。
- 比較値が必要な場合は、値または選択肢を指定します。
条件で参照するフィールドは、ルールの対象に存在し、選択したすべてのレイアウトに配置されている必要があります。
フィールド別の比較方法
| フィールドの種類 | 比較方法 |
|---|---|
| 単一選択 | 次と等しい、次と等しくない、未選択、選択済み |
| 複数選択 | 未選択、選択済み、いずれかを含む、すべてを含む、いずれも含まない |
| カテゴリセット | 未選択、選択済み、いずれかを含む、すべてを含む、いずれも含まない |
| タグ | 未選択、選択済み、いずれかを含む、すべてを含む、いずれも含まない |
| テキスト | 空欄、空欄ではない、次と等しい、次と等しくない、次を含む、次を含まない |
| リッチテキスト | 空欄、空欄ではない |
| 数値 | 空欄、空欄ではない、次と等しい、次と等しくない、より大きい、以上、より小さい、以下 |
| 日付、日時 | 空欄、空欄ではない、より前、以前、より後、以後 |
| 真偽値 | 真、偽 |
| アセット | 空欄、空欄ではない |
| 関連コンテンツ | 空欄、空欄ではない |
| 公開ステータス | 次と等しい、次と等しくない |
| 公開日 | 空欄、空欄ではない、より前、以前、より後、以後 |
1つの選択肢だけを持つチェックボックスは、単純な選択/未選択として扱われ、「未選択」と「選択済み」だけを指定できます。
選択肢が「キー=表示名」の形式で登録されている場合、設定画面には表示名が表示され、条件判定にはキーが使用されます。ルールを公開した後に対象の選択肢を削除すると、そのルールは不整合として無効になります。
公開ステータス
公開ステータスは、保存操作で選択されている予定ステータスを判定します。
| CMSと対象 | 選択できるステータス |
|---|---|
| Movable Typeの記事、ウェブページ、コンテンツデータ | 下書き、公開、非公開、日時指定 |
| PowerCMSの記事、ウェブページ | 下書き、公開、承認待ち、日時指定 |
| PowerCMSのカスタムオブジェクト | 下書き、公開、承認待ち、日時指定、掲載終了 |
空欄の判定
空欄の判定はフィールドの種類に応じて行われます。
- テキストは、空文字または空白文字だけの場合に空と判定されます。
- リッチテキストは、HTMLタグを除いた内容が空白だけの場合に空と判定されます。画像、動画、音声、
iframeなどの埋め込み要素がある場合は空ではありません。 - 複数選択、カテゴリセット、タグ、アセット、関連コンテンツは、選択された値がない場合に空と判定されます。
- 数値の
0と真偽値の偽は、空欄ではありません。 - 数値や日付に形式不正の値がある場合は、空欄ではなく不正な値として扱われます。
設定例
種別に応じて制御する
単一選択の「種別」フィールドで「ニュース」を選択した場合だけ制御を実行するには、次のように設定します。
- フィールド:種別
- 比較方法:次と等しい
- 値:ニュースの選択肢
複数の選択肢のいずれかを判定する
複数選択フィールドで指定した選択肢のうち1件以上が選ばれている場合に制御するには、「いずれかを含む」を使用します。「すべてを含む」は指定した選択肢がすべて選ばれている場合、「いずれも含まない」は1件も選ばれていない場合に一致します。
日付を判定する
日付フィールドが指定日を含めてそれ以前かを判定するには、「以前」を選択して比較日を指定します。「より前」は比較日そのものを含みません。
注意事項
- テキストの「次と等しい」と「次を含む」は、入力された文字をそのまま比較します。大文字と小文字は区別されます。
- タグの条件は、選択値の一致で判定します。部分一致ではありません。
- 日付と日時は、実在する日付・時刻として解釈できる値だけを比較します。
- 条件に使用するフィールドまたは選択肢を変更・削除した場合は、公開済みルールの状態を確認してください。
