Posted by ewdp2006 on May 15, 2013 at 9:28am
Drupal6を使っています。
特定のロールを持ったユーザーについて、作成から半年を経過すると状態がブロックに変わるようにしたいです。
ruleモジュールにて下記の設定で対応しようとしていましたが、数値の比較の?部分に何を入力すれば良いのか、そもそもこの設定が正しいのか、が分かりません。
・イベント:ユーザーアカウントを作成 発生時
・条件1:ユーザーがロール(A)を保有
And:数値の比較
数値1:[account:user-created-since]
操作:大なり記号
数値2:?
・Do:アカウントをブロック
設定方法についてご存知の方がいれば教えていただけないでしょうか?
また、もっと簡単にロールに有効期限を持たせられる方法やモジュールをご存知でしたら、教えていただけますでしょうか。
よろしくお願いします。
Comments
user_expire1 または role_expire2
user_expire1 または role_expire2 を使ってみてはどうでしょうか?
ありがとうございます。
ありがとうございます。
role_expireを試してみたのですが、有効期限を過ぎていても何の変化もありませんでした。。。
【試した事】
全てのコンテンツが見れるロール(A)と、コンテンツが見れないロール(B)を用意。Aのみ有効期限を1日に設定。
・ロールをAとB両方持つユーザーを作成→期限を過ぎても全てのコンテンツが見れる。
・ロールをのみ持つユーザーを作成→期限を過ぎても全てのコンテンツが見れる。
user_expireはDrupal6に対応しておらず、試せませんでした。。
期限が過ぎた後、cron
期限が過ぎた後、cron を走らせてみましたか?
role_expire.module のソースを見たところ、cron の実装があり、そこでユーザーのロールをアップデートしているので、cron の実行なしにはこのモジュールによるロールの変更は実現できないと思います。
cronを設定したところ、role_expireモジュール
cronを設定したところ、role_expireモジュールがちゃんと働きました。
cronの事がよく分かっていなかったのでスルーしてきてましたが、poormanscronモジュールで簡単に対応できました。
ご回答下さった皆様、ありがとうございました。