如何向匿名用户显示标志?


8

我正在使用Flag模块,但是在向匿名用户显示标志时出现问题。

我有2个标记,分别称为“制作功能”和“添加到收藏夹”。我也想向匿名用户显示此标志。当前,它仅显示给已登录的用户(已认证的用户)。

我希望这些标志显示给所有用户(无论是否已登录)。但是,当匿名用户单击标志时,该用户应被重定向到登录页面。登录后,用户应该可以设置标志。

这可能吗?


您的上下文中有什么标志?菜单项?
BetaRide 2012年

@BetaRide:我认为OP正在谈论Flag模块的标志
AjitS 2012年

是的,我正在使用标志模块。
普拉纳夫·甘地

Answers:


10

您可以在“ node.tpl.php”中通过以下方式进行此操作,如果用户正常登录显示标志并且未登录,则将用户重定向到带destination参数的登录页面

global $user;
if(!$user->uid) {
    // $flag: bookmark or make_feature, $action: flag, $content_id: $nid.....
    $flag_link = flag_flag_link($flag, $action, $content_id);
    $flag_url = $flag_link['href'];
    if(isset($flag_link['query']['token'])) {
        $flag_url .= '?'.$flag_link['query']['token'];
    }
    print l(t('bookmark'), 'user/login' , array('query'=> array('destination' => $flag_url)));
} else {
    print render($content['links']['flag']);
}

感谢其工作。
普拉纳夫·甘地


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.