¿Cómo mostrar una bandera a usuarios anónimos?

8

Estoy usando el módulo Indicador , pero tengo un problema al mostrar un indicador a usuarios anónimos.

Tengo 2 banderas llamadas "make feature" y "add to Favorites". También quiero mostrar esta bandera a usuarios anónimos. Actualmente solo se muestra a los usuarios que han iniciado sesión (usuario autenticado).

Quiero que estos indicadores se muestren a todos los usuarios (ya sea que hayan iniciado sesión o no). Pero cuando un usuario anónimo hace clic en el indicador, dicho usuario debe ser redirigido a la página de inicio de sesión. Después de iniciar sesión, el usuario debe poder establecer la bandera.

es posible?

Pranav Gandhi
fuente
¿Qué es una bandera en tu contexto? ¿Una entrada de menú?
BetaRide
@BetaRide: Creo que OP está hablando de banderas por módulo de bandera
AjitS
Sí, estoy usando el módulo de bandera.
Pranav Gandhi

Respuestas:

10

Puede hacer esto en su 'node.tpl.php' de la siguiente manera, si el usuario ha iniciado sesión, visualice el marcador como normal y si no está conectado, redirija al usuario a la página de inicio de sesión con el destinationparámetro

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
fuente
Gracias está funcionando.
Pranav Gandhi
4

Para mostrar un indicador a usuarios anónimos , consulte lo que está escrito en la documentación de la comunidad del módulo Indicador , es decir:

Marcado para usuarios anónimos (incluso con el almacenamiento en caché de la página habilitado). Requiere API de sesión .

Algo similar del archivo README.txt :

Instalación opcional

1) El módulo de API de sesión, disponible en http://drupal.org/project/session_api , proporciona la capacidad para que los usuarios anónimos marquen contenido .

Tenga en cuenta también que la API de sesión tampoco se menciona como una dependencia en el módulo Flag .

Pierre.Vriens
fuente