web-dev-qa-db-ja.com

匿名ユーザーにフラグを表示する方法は?

Flag モジュールを使用していますが、匿名ユーザーにフラグを表示する際に問題があります。

「機能を作成」と「お気に入りに追加」という2つのフラグがあります。このフラグを匿名ユーザーにも表示したい。現在、ログインしているユーザー(認証ユーザー)にのみ表示されます。

これらのフラグを(ログインしているかどうかに関係なく)すべてのユーザーに表示したい。ただし、匿名ユーザーがフラグをクリックすると、そのユーザーはログインページにリダイレクトされます。ログイン後、ユーザーはフラグを設定できるはずです。

これは可能ですか?

8
Pranav Gandhi

ユーザーが通常どおり表示フラグにログインしていて、ログインしていない場合は、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']);
}
10

匿名ユーザーにフラグを表示するには、コミュニティのドキュメントに記載されている Flag モジュールの記述を参照してください。

匿名ユーザーへのフラグ付け(ページキャッシュが有効な場合でも)。 Session API が必要です。

README.txt から類似したもの:

オプションのインストール

1)匿名ユーザーがコンテンツにフラグを付ける機能は、 http://drupal.org/project/session_api にあるセッションAPIモジュールによって提供されます。

Session APIFlagモジュールの依存関係 としても言及されていないことにも注意してください。

4
Pierre.Vriens

https://www.drupal.org/project/flag_anon

匿名ユーザー向けのフラグの「サインインまたは登録」の表示オプションを提供します。

1
user24957