Come visualizzare una bandiera per utenti anonimi?


8

Sto usando il modulo Flag , ma ho un problema nella visualizzazione di un flag per utenti anonimi.

Ho 2 flag chiamati "crea funzionalità" e "aggiungi ai preferiti". Voglio mostrare questo flag anche agli utenti anonimi. Attualmente viene visualizzato solo per gli utenti che hanno effettuato l'accesso (utente autenticato).

Voglio che questi flag vengano mostrati a tutti gli utenti (che abbiano effettuato l'accesso o meno). Ma quando un utente anonimo fa clic sulla bandiera di tale utente, dovrebbe essere reindirizzato alla pagina di accesso. Dopo l'accesso l'utente dovrebbe essere in grado di impostare il flag.

È possibile?


Cos'è una bandiera nel tuo contesto? Una voce di menu?
BetaRide,

@BetaRide: Penso che OP stia parlando di bandiere per modulo Flag
AjitS

si sto usando il modulo bandiera.
Pranav Gandhi,

Risposte:


10

Puoi farlo nel tuo 'node.tpl.php' con qualcosa come sotto, se l'utente è loggato nel display display come normale e se non è loggato reindirizza l'utente alla pagina di registrazione con il destinationparametro

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']);
}

Grazie al suo funzionamento.
Pranav Gandhi,

4

Per visualizzare un flag per utenti anonimi , fare riferimento a ciò che è scritto nella documentazione della comunità del modulo Flag , ovvero:

Segnalazione per utenti anonimi (anche con la memorizzazione nella cache della pagina abilitata). Richiede l' API di sessione .

Qualcosa di simile al README.txt :

Installazione opzionale

1) La possibilità per gli utenti anonimi di contrassegnare i contenuti è fornita dal modulo API di sessione, disponibile all'indirizzo http://drupal.org/project/session_api .

Ricorda anche che l' API Session non è menzionata neanche come dipendenza nel modulo Flag .


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.