Flag モジュールを使用していますが、匿名ユーザーにフラグを表示する際に問題があります。
「機能を作成」と「お気に入りに追加」という2つのフラグがあります。このフラグを匿名ユーザーにも表示したい。現在、ログインしているユーザー(認証ユーザー)にのみ表示されます。
これらのフラグを(ログインしているかどうかに関係なく)すべてのユーザーに表示したい。ただし、匿名ユーザーがフラグをクリックすると、そのユーザーはログインページにリダイレクトされます。ログイン後、ユーザーはフラグを設定できるはずです。
これは可能ですか?
ユーザーが通常どおり表示フラグにログインしていて、ログインしていない場合は、destination
パラメーターを使用してログページにユーザーをリダイレクトする場合、以下のような方法で 'node.tpl.php'でこれを行うことができます
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 モジュールの記述を参照してください。
匿名ユーザーへのフラグ付け(ページキャッシュが有効な場合でも)。 Session API が必要です。
README.txt から類似したもの:
オプションのインストール
1)匿名ユーザーがコンテンツにフラグを付ける機能は、 http://drupal.org/project/session_api にあるセッションAPIモジュールによって提供されます。
Session API は Flagモジュールの依存関係 としても言及されていないことにも注意してください。
https://www.drupal.org/project/flag_anon
匿名ユーザー向けのフラグの「サインインまたは登録」の表示オプションを提供します。