仅在访问特定URL时显示CCK字段(权限)

时间:2011-02-16 20:53:20

标签: php drupal-6 cck

我的情况是我想限制用户访问某个CCK字段。在用户进行购买(Ubercart)之后,他们将通过电子邮件发送一个特殊链接,他们将可以访问该字段。此链接将在一段时间后过期,但在链接处于活动状态时,他们需要访问该特定字段。

基本上发生的事情是,当使用它的标准路径(节点/ 14)访问节点时,它们将无法访问该字段。如果他们通过另一条路径(可用/ 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;

我知道这很丑,但确实有效。我也担心可能存在一些重大的安全问题。有没有人对我有任何想法?

1 个答案:

答案 0 :(得分:0)

取决于您如何创建和过期链接,但......

我将包含一个CCK字段用于到期时间,从节点模板中删除秘密字段,并创建一个显示秘密字段的视图,并根据到期时间进行过滤或更改。