วิธีการแสดงการตั้งค่าสถานะผู้ใช้ที่ไม่ระบุชื่อ


8

ฉันใช้โมดูลตั้งค่าสถานะแต่มีปัญหาในการแสดงการตั้งค่าสถานะให้กับผู้ใช้ที่ไม่ระบุชื่อ

ฉันมี 2 ธงเรียกว่า "ทำให้คุณสมบัติ" และ "เพิ่มในรายการโปรด" ฉันต้องการแสดงการตั้งค่าสถานะนี้แก่ผู้ใช้ที่ไม่ระบุชื่อด้วย ขณะนี้มันจะปรากฏเฉพาะกับผู้ใช้ที่เข้าสู่ระบบ (ผู้ใช้รับรองความถูกต้อง)

ฉันต้องการให้แฟล็กเหล่านี้แสดงต่อผู้ใช้ทั้งหมด (ไม่ว่าจะล็อกอินหรือไม่ก็ตาม) แต่เมื่อผู้ใช้ที่ไม่ระบุชื่อคลิกที่ธงกว่าผู้ใช้ดังกล่าวควรถูกเปลี่ยนเส้นทางไปยังหน้าเข้าสู่ระบบ หลังจากเข้าสู่ระบบผู้ใช้ควรจะสามารถตั้งค่าสถานะ

เป็นไปได้ไหม


การตั้งค่าสถานะในบริบทของคุณคืออะไร รายการเมนู?
BetaRide

@BetaRide: ฉันคิดว่า OP กำลังพูดถึงธงโดยโมดูลFlag
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ไม่ได้กล่าวถึงเป็นพึ่งพาในโมดูลธงอย่างใดอย่างหนึ่ง


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.