我的情况是我想限制用户访问某个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;
我知道这很丑,但确实有效。我也担心可能存在一些重大的安全问题。有没有人对我有任何想法?
答案 0 :(得分:0)
取决于您如何创建和过期链接,但......
我将包含一个CCK字段用于到期时间,从节点模板中删除秘密字段,并创建一个显示秘密字段的视图,并根据到期时间进行过滤或更改。