2011-02-16 18 views
1

私の状況は、ユーザーのアクセスを特定のCCKフィールドに制限したいということです。ユーザーが購入した後(Ubercart)、彼らはフィールドへのアクセス権を持つ特別なリンクを電子メールで送信します。このリンクは、一定時間が経過すると有効期限が切れますが、リンクがアクティブな間に特定の1つのフィールドにアクセスする必要があります。特定のURL(アクセス権)にアクセスするときにのみCCKフィールドを表示

基本的には、ノードの標準パス(ノード/ 14)を使用してノードにアクセスすると、フィールドにアクセスできなくなります。彼らが別のパス(available/for/limited/time/u9xYs4)を使ってアクセスすると、彼らはそのフィールドにアクセスできます。

私はこれを達成する方法を困惑しています。

編集1:
私はその作品を思いついたのは、次のとおりです。

global $user; 
$user1 = user_load(array('uid'=>1)); 
$prevUser = $user; 
$user = $user1; 

$view = views_get_view('greeting_listen'); 
$rendered = $view->preview('default', array($nid)); 

$user = $prevUser; 

私はそれが醜いことは知っていますが、それは動作します。私はまた、いくつかの大きなセキュリティ上の問題があるかもしれないと懸念しています。誰も私のためにこれについての任意の考えを持っていますか?

答えて

0

は、私は、有効期限のためのCCKフィールドを含むノードテンプレートから秘密のフィールドを削除し、表示するビューを作成します

をあなたがリンクを作成し、期限切れしている方法によって異なりますが、...有効期限に基づいてフィルタリングされるか、または変更される。

+0

この解決策では、ノードにアクセスする他のユーザーの問題は解決しません。これが問題なのかどうかはわかりません。 – yitznewton

関連する問題