Comment afficher un drapeau aux utilisateurs anonymes?

8

J'utilise le module Flag , mais j'ai un problème pour afficher un drapeau aux utilisateurs anonymes.

J'ai 2 drapeaux appelés "make feature" et "add to Favorites". Je souhaite également afficher ce drapeau pour les utilisateurs anonymes. Actuellement, il n'est affiché que pour les utilisateurs connectés (utilisateur authentifié).

Je souhaite que ces drapeaux soient affichés pour tous les utilisateurs (qu'ils soient connectés ou non). Mais lorsqu'un utilisateur anonyme clique sur le drapeau, cet utilisateur doit être redirigé vers la page de connexion. Après la connexion, l'utilisateur doit pouvoir définir le drapeau.

Est-ce possible?

Pranav Gandhi
la source
Qu'est-ce qu'un drapeau dans votre contexte? Une entrée de menu?
BetaRide
@BetaRide: Je pense qu'OP parle de drapeaux par module Flag
AjitS
oui j'utilise le module indicateur.
Pranav Gandhi

Réponses:

10

Vous pouvez le faire dans votre 'node.tpl.php' par quelque chose comme ci-dessous, si l'utilisateur est connecté comme indicateur d'affichage et s'il n'est pas connecté rediriger l'utilisateur vers la page de connexion avec le destinationparamètre

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']);
}
Mohammad Ali Akbari
la source
Merci son fonctionnement.
Pranav Gandhi
4

Pour afficher un indicateur aux utilisateurs anonymes , reportez-vous à ce qui est écrit dans la documentation communautaire du module Indicateur , c'est-à-dire:

Marquage pour les utilisateurs anonymes (même avec la mise en cache des pages activée). Nécessite l' API de session .

Quelque chose de similaire à partir du fichier README.txt :

Installation en option

1) La possibilité pour les utilisateurs anonymes de signaler du contenu est fournie par le module API de session, disponible sur http://drupal.org/project/session_api .

Sachez également que l' API de session n'est pas mentionnée non plus comme une dépendance dans le module Flag .

Pierre.Vriens
la source