ユーザーがフィールドの選択リストからオプションを選択した場合にノードを非公開にする方法はありますか?
都市のリストがあるフィールドがあります。たとえば、ユーザーがロンドンなどの特定の都市を選択すると、ノードは自動的に非公開になり、モデレートできるようになります。
ルールを試してみましたが、ルールをテストするたびに何も起こらないので、ルールに問題があるか、もっと簡単な方法があると思いますか?
また、hook_node_presave()をフックして、フィールドの値を確認することもできます...いいえ?
mymodule_node_presave($node) {
if($node->yourfield[.....]['value'] == 'London') {
$node->state = '0';
}
}
「データ比較」を行う前に、「エンティティにフィールドがある」かどうかを最初にテストしましたか?
フィールドを比較するときは、最初にエンティティがルールを取得するためのフィールドを持っていることを確認する必要があります。コンテンツタイプなどの基本的なノード属性を比較する場合は、この手順を省略できます。
ここに例があります...