ส่วนขยาย Disqus ช่วยให้ผู้เยี่ยมชมไซต์แสดงความคิดเห็นในแต่ละแพ็คเกจได้โดยใช้ระบบแสดงความคิดเห็นแบบ AJAX ข้อเสียของปลั๊กอินนี้คือความคิดเห็นจะไม่ถูกจัดเก็บไว้ในเครื่อง และข้อมูลผู้ใช้จะไม่ถูกแชร์ระหว่าง CKAN และระบบแสดงความคิดเห็น
หมายเหตุ: ส่วนขยายนี้ต้องใช้ ckan 1.7 หรือสูงกว่า
ในการตั้งค่าปลั๊กอิน Disqus คุณต้องไปที่ disqus.com ก่อนและตั้งค่าฟอรัมด้วยชื่อโดเมนของคุณ คุณจะสามารถเลือกชื่อฟอรั่มได้
หากต้องการติดตั้งปลั๊กอิน ให้ป้อน virtualenv ของคุณแล้วโหลดซอร์ส:
(pyenv) $ pip ติดตั้ง -e git+https://github.com/okfn/ckanext-disqus#egg=ckanext-disqus
สำหรับเวอร์ชัน ckan ก่อน 2.0 โปรดใช้สาขา release-v1.8
นี่จะเป็นการลงทะเบียนจุดเข้าใช้ปลั๊กอินด้วย ดังนั้นตอนนี้คุณควรจะสามารถเพิ่มสิ่งต่อไปนี้ลงในไฟล์ CKAN .ini ของคุณได้:
ckan.plugins = disqus <ปลั๊กอินอื่น ๆ> disqus.name = YOUR_DISQUS_NAME
ณ จุดนี้ หน้ามุมมองชุดข้อมูลแต่ละหน้าจะมีความคิดเห็น Disqus หากต้องการเพิ่มความคิดเห็นลงในหน้าอื่นๆ โปรดดูส่วนถัดไป
Disqus จะใช้ window.location.href เป็น disqus_url บางครั้งการระบุ URL ฐานสำหรับ disqus ที่จะใช้แทนจะมีประโยชน์ โดยเฉพาะในระหว่างการพัฒนา สามารถเพิ่มลงในไฟล์ CKAN .ini:
disqus.disqus_url = my_staging.server.com
ไม่ต้องใส่ "http://" หรือเครื่องหมายทับต่อท้าย
หากต้องการให้กระทู้ความคิดเห็นปรากฏบนหน้าต่างๆ ให้แทรกลงในเทมเพลตที่คุณต้องการให้ความคิดเห็นปรากฏ:
{{h.disqus_comments()}}
หมายเหตุสำหรับนักพัฒนาธีม: ส่วนขยายพยายามสร้าง disqus_identifier ของแบบฟอร์ม:
{ตัวควบคุม/โดเมน-ชื่อวัตถุ}::{id}
โดยที่ controller = 'กลุ่ม' ในส่วนกลุ่ม 'ชุดข้อมูล' ในส่วนชุดข้อมูล (โปรดทราบว่าสิ่งนี้แตกต่างจากชื่อคอนโทรลเลอร์ภายในซึ่งยังคงเป็นแพ็คเกจ) 'ทรัพยากร' สำหรับทรัพยากร ฯลฯ ตัวระบุนี้จะมีประโยชน์หากคุณต้องการ อ้างอิงความคิดเห็นนี้ (เช่น จำนวนความคิดเห็น) ที่อื่นในไซต์
แทรกในหน้าที่คุณต้องการให้ความคิดเห็นล่าสุดปรากฏ:
{{h.disqus_recent()}}
วิดเจ็ตความคิดเห็นล่าสุดจะแสดง 5 ความคิดเห็นล่าสุดตามค่าเริ่มต้น หากต้องการแสดงความคิดเห็นล่าสุด 10 รายการให้ใช้สิ่งต่อไปนี้:
{{h.disqus_recent(num_comments=10)}}
Disqus มีวิดเจ็ตอื่น ๆ อีกมากมาย แทนที่จะจัดเตรียมสิ่งเหล่านี้โดยอัตโนมัติโดยเป็นส่วนหนึ่งของส่วนขยายนี้ เราขอแนะนำให้นักพัฒนาธีมรวมโค้ดโดยตรง (โปรดทราบว่าคุณเข้าถึงตัวแปรการกำหนดค่าที่เกี่ยวข้องจากออบเจ็กต์การกำหนดค่าที่ส่งไปยังเทมเพลตทั้งหมด)
Disqus เสนอตัวเลือก "การลงชื่อเพียงครั้งเดียว" ซึ่งอนุญาตให้ผู้ใช้ส่งความคิดเห็นโดยใช้ชื่อผู้ใช้/รหัสผ่านในเครื่อง แทนที่จะต้องใช้บัญชี disqus แยกกัน สำหรับคำแนะนำเกี่ยวกับวิธีตั้งค่าต่างๆ ในส่วน Disqus (เช่น สร้างคีย์ API) โปรดดู: https://help.disqus.com/customer/portal/articles/236206-integrating-single-sign-on
หากต้องการทำงานร่วมกับปลั๊กอิน CKAN นี้ คุณต้องจัดเก็บคีย์สาธารณะและคีย์ลับไว้ในไฟล์ CKAN ini:
ckan.plugins = disqus <ปลั๊กอินอื่น ๆ> disqus.name = YOUR_DISQUS_NAME disqus.secret_key = YOUR_DISQUS_SECRET_KEY disqus.public_key = YOUR_DISQUS_PUBLIC_KEY