【问题标题】:Show CCK field only when accessing specific url (permissions)仅在访问特定 url 时显示 CCK 字段(权限)
【发布时间】:2011-02-16 20:53:20
【问题描述】:

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

基本上发生的情况是,当使用它的标准路径 (node/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;

我知道这很丑,但它确实有效。我还担心可能存在一些重大的安全问题。有人对我有什么想法吗?

【问题讨论】:

    标签: php drupal-6 cck


    【解决方案1】:

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

    我将包含一个 CCK 字段作为过期时间,从节点模板中删除秘密字段,并创建一个显示秘密字段并根据过期时间过滤或以其他方式更改的视图。

    【讨论】:

    • 这个解决方案不会解决其他用户访问节点的问题;不确定这是否有问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    • 2022-01-21
    • 1970-01-01
    相关资源
    最近更新 更多