Answers:
您可以在“ 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']);
}
要向匿名用户显示标志,请参阅Flag模块的社区文档中写的内容,即:
标记匿名用户(即使启用了页面缓存)。需要会话API。
与README.txt类似:
可选安装
1)Session API模块提供了匿名用户标记内容的功能,该模块可从http://drupal.org/project/session_api获得。
另请注意,在Flag模块中也没有提到Session API作为依赖项。
https://www.drupal.org/project/flag_anon
提供显示匿名用户标志的“登录或注册”选项。