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


8

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

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

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

これは可能ですか?


あなたのコンテキストのフラグは何ですか?メニューエントリ?
BetaRide

@BetaRide:OPはFlagモジュールによるフラグについて話していると思います
AjitS、

はい、フラグモジュールを使用しています。
Pranav Gandhi

回答:


10

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

ありがとうございます。
Pranav Gandhi

4

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

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

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

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

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

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


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.