Як відобразити прапор анонімним користувачам?


8

Я використовую модуль " Прапор" , але у мене є проблема з відображенням прапора анонімним користувачам.

У мене є 2 прапори під назвою "зробити функцію" та "додати до вибраного". Я хочу показати цей прапор і анонімним користувачам. На даний момент він відображається лише тим користувачам, які зареєстровані (автентифікований користувач).

Я хочу, щоб ці прапори відображалися всім користувачам (незалежно від того, увійшли чи ні). Але коли анонімний користувач натискає прапор, ніж такий користувач повинен бути перенаправлений на сторінку входу. Після входу користувач повинен мати можливість встановити прапор.

Чи можливо це?


Що таке прапор у вашому контексті? Запис у меню?
BetaRide

@BetaRide: Я думаю, що ОП говорить про прапори модулем прапор
AjitS

так, я використовую прапор модуля.
Пранів Ганді

Відповіді:


10

Ви можете зробити це у своєму 'node.tpl.php' чимось на кшталт нижче, якщо користувач увійшов у прапор відображення як звичайний, а якщо не ввійшов користувач, що переспрямовує, на сторінку входу з 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']);
}

Дякуємо за свою роботу.
Пранів Ганді

4

Щоб відобразити прапор анонімним користувачам , див. Те, що написано в документації спільноти модуля Прапор , тобто:

Позначення анонімних користувачів (навіть із увімкненим кешуванням сторінок). Потрібен API сеансу .

Щось подібне з README.txt :

Необов’язкова установка

1) Можливість анонімних користувачів відмічати вміст надається модулем API сесії, доступним на веб- сайті http://drupal.org/project/session_api .

Також слід пам’ятати, що API сеансу також не згадується як залежність у модулі Flag .


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.