ルールモジュールのデータセレクターの単一のオン/オフ(ブール)チェックボックスの値をチェックする方法はないようです。「field-MyField」=チェックまたは「field-MyField」= 1の場合、「何とか」します。ルールはこれを行うことができますか?私は何かを逃しているに違いない
ルールモジュールのデータセレクターの単一のオン/オフ(ブール)チェックボックスの値をチェックする方法はないようです。「field-MyField」=チェックまたは「field-MyField」= 1の場合、「何とか」します。ルールはこれを行うことができますか?私は何かを逃しているに違いない
回答:
ここには正しい詳細と正しくない詳細が混在しているので、それらを整理してみます。これはDrupal 7のルール用で、ブールフィールドの操作に適用されます。
フィールドのブール状態をチェックする条件(true / false、yes / no、checked / unchecked)を作成するには、まずデータセレクターでフィールドにアクセスできることを確認します。Bojanが上で述べたように、そしてそれが管理ページ自体で述べたように、
エンティティフィールドをデータセレクターに表示するには、 'エンティティにフィールドがある'(または 'コンテンツがタイプである')条件を使用する必要がある場合があります。
選択したい演算子は「等しい」です。
「データ値」フィールドには、2つのモードで値を入力できます。「直接入力モード」を使用していることを確認してください。その後、そのフィールドのTRUEを表すチェックボックスをオンにすることができます。
翻訳すると、「このフィールドはTRUEに等しいですか?」また、チェックを外したままにするか、以下の「否定」オプションを使用して否定することもできます。
「データ比較」条件を追加し、フィールド名を指定して、値として「1」を入力するだけです。フィールドがフィールドのリストに表示されない場合は、最初に「エンティティにフィールドがあります」条件を追加し、そこでフィールドを選択します。次に、「データ比較」を追加します。
何時間もの試行錯誤の末、私は問題を解決することになりました。これは私には意味がないので、説明を求めないでください。誰かが説明できれば、それは大歓迎です!
DATA COMPARISONを使用して新しい条件を設定します。次に「node:field-MyField:0」を選択します(実際には最大4つあります-node:field-MyField:1、node:field-MyField:2など)。次にCOMPARISONをEQUALSに設定します。次に、2番目のデータセレクター部分では、テキスト入力ボックスデータセレクターではなく、チェックボックスデータセレクターとして表示されます。そのチェックボックスデータセレクターをクリックして[保存]をクリックすると、ルールモジュールが正しく機能します。
壁に前髪頭
ほとんどの場合、ルールフォームサポートを使用する必要があります。
特定のフォームのフォームルールをアクティブにすると、次のような条件を使用できます。フォーム要素に値があります。フォームがされているときに、この状態は、いずれかを使用することができます建てか検証します。
考慮すべき他のモジュールはエンティティルールです。