ปลั๊กอิน CMS 2.x Craft นี้ไม่ได้รับการสนับสนุนอีกต่อไป แต่ใช้งานได้อย่างสมบูรณ์และคุณอาจใช้งานต่อไปตามที่คุณเห็น ใบอนุญาตยังช่วยให้คุณสามารถแยกและทำการเปลี่ยนแปลงตามความจำเป็นสำหรับเหตุผลการสนับสนุนมรดก
ปลั๊กอินรุ่น CMS 3.x สามารถดูได้ที่นี่: Craft-Disqus และยังสามารถติดตั้งได้ผ่านร้านค้าปลั๊กอิน Craft ใน Craft CP
รวมระบบการแสดงความคิดเห็น Disqus เข้ากับเว็บไซต์ CMMS รวมถึงการลงชื่อเข้าใช้เดียว (SSO) และ URL เข้าสู่ระบบ/ออกจากระบบที่กำหนดเอง
ที่เกี่ยวข้อง: Disqus สำหรับงานฝีมือ 3.x
การติดตั้ง
disqus
ลงในไดเรกทอรี craft/plugins
ของคุณgit clone https://github.com/nystudio107/disqus.git
ลงในโฟลเดอร์ craft/plugins
ของคุณโดยตรง จากนั้นคุณสามารถอัปเดตด้วย git pull
composer require nystudio107/disqus
disqus
สำหรับงานฝีมือเพื่อดู GitHub เพิ่งเริ่มผนวก -master
(ชื่อสาขา) ไปยังชื่อของโฟลเดอร์สำหรับการดาวน์โหลดไฟล์ zip ก่อนอื่นตรวจสอบให้แน่ใจว่าคุณได้ตั้งค่าบัญชี Disqus แล้ว
ถัดไปใน Craft Admin CP ไปที่ Settings-> Plugins-> Disqus และป้อนชื่อสั้น ๆ สำหรับเว็บไซต์ Disqus ของคุณ นี่คือการตั้งค่าที่จำเป็นสำหรับปลั๊กอิน Disqus เท่านั้น
การตั้งค่าทั้งหมดสามารถกำหนดค่าได้ผ่านไฟล์ config.php
ซึ่งเป็นวิธีที่เป็นมิตรกับสิ่งแวดล้อมหลายวิธีในการจัดเก็บการตั้งค่าเริ่มต้น อย่าแก้ไขไฟล์นี้แทนที่จะคัดลอกไปยัง craft/config
เป็น disqus.php
และทำการเปลี่ยนแปลงของคุณที่นั่น
ประโยชน์ที่แท้จริงของปลั๊กอิน Disqus คือการดูแลการรวมเข้าด้วยกันครั้งเดียว (SSO) เข้ากับไซต์งานฝีมือของคุณ
ก่อนที่คุณจะสามารถใช้สิ่งนี้ได้คุณจะต้องตั้งค่า Disqus SSO API ตามที่อธิบายไว้ในเว็บเพจการลงชื่อเข้าใช้เดียว
จากนั้นคัดลอกและวางคีย์ API และ API Secret ลงในการตั้งค่าปลั๊กอิน Disqus และเปิด "ผู้ใช้ Single Sign On" Lightswitch
ปลั๊กอิน Disqus จะดูแล URL เข้าสู่ระบบ/ออกจากระบบที่กำหนดเองหากคุณต้องการใช้ โปรดดูการเพิ่มการเข้าสู่ระบบ SSO และลิงก์ออกจากระบบของคุณเองสำหรับรายละเอียด
คุณต้องการเพียงแค่นี้คือคุณต้องการมีปุ่มเข้าสู่ระบบที่กำหนดเองใน Disqus UI เอง
url
ควรเป็นที่อยู่ของหน้าเข้าสู่ระบบของคุณ หน้าจะเปิดในหน้าต่างใหม่และจะต้องปิดตัวเองหลังจากเสร็จสิ้นการตรวจสอบแล้ว นั่นคือวิธีที่เรารู้เมื่อเสร็จแล้วและโหลดหน้าใหม่
logout
ควรตั้งค่าเป็น http://example.com/actions/disqus/logoutRedirect
เพื่อกด Disqus Controller ที่จัดการกับการออกจากระบบและเปลี่ยนเส้นทาง
วิธีการทั้งหมดเหล่านี้สำเร็จในสิ่งเดียวกัน:
{# Output the Disqus embed code using the 'disqusEmbed' function #}
{{ disqusEmbed( DISQUS_IDENTIFIER, DISQUS_TITLE, DISQUS_URL, DISQUS_CATEGORY_ID, DISQUS_LANGUAGE) }}
{# Output the Disqus embed code using the 'disqusEmbed' filter #}
{{ DISQUS_IDENTIFIER | disqusEmbed(DISQUS_TITLE, DISQUS_URL, DISQUS_CATEGORY_ID, DISQUS_LANGUAGE) }}
{# Output the Disqus embed code using the 'disqusEmbed' variable #}
{{ craft.disqus.disqusEmbed( DISQUS_IDENTIFIER, DISQUS_TITLE, DISQUS_URL, DISQUS_CATEGORY_ID, DISQUS_LANGUAGE) }}
พารามิเตอร์ทั้งหมดยกเว้น DISQUS_IDENTIFIER
เป็นทางเลือก สำหรับข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์เหล่านี้โปรดดูตัวแปรการกำหนดค่า JavaScript
Disqus ละเว้นการตั้งค่าใด ๆ ที่เป็นสตริงที่ว่างเปล่าเช่น: ''
แท็กกิ่งทั่วไปที่คุณใช้จะมีลักษณะเช่นนี้:
{{ disqusEmbed(entry.slug, entry.title, entry.url) }}
... ซึ่งจะส่งผลให้เกิดความคิดเห็นที่ไม่ซ้ำกันบนพื้นฐานต่อการเข้า
ในกรณีพื้นฐานที่สุดสิ่งนี้จะส่งผลให้เทมเพลตงานฝีมือของคุณมีลักษณะเช่นนี้:
<div id="disqus_thread"></div>
<script data-cfasync="false" type="text/javascript">
/**
* RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
* LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables
*/
if (typeof disqus_config !== 'undefined') {
var _old_disqus_config = disqus_config;
}
var disqus_config = function() {
if (typeof _old_disqus_config !== 'undefined') {
_old_disqus_config.apply(this);
}
this.page.url = 'DISQUS_URL';
this.page.identifier = 'DISQUS_IDENTIFIER';
this.page.title = 'DISQUS_TITLE';
this.page.category_id = 'DISQUS_CATEGORY_ID';
this.language = 'DISQUS_LANGUAGE';
};
(function() { // REQUIRED CONFIGURATION VARIABLE: EDIT THE SHORTNAME BELOW
var d = document, s = d.createElement('script');
s.src = '//DISQUS_SHORTNAME.disqus.com/embed.js'; // IMPORTANT: Replace EXAMPLE with your forum shortname!
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>
การตั้ง DISQUS_SHORTNAME
นำมาจากการตั้งค่า admin cp หรือ config.php
และส่วนที่เหลือของการตั้งค่า DISQUS_*
จะถูกส่งผ่านเป็นตัวแปรจากตัวกรอง/ฟังก์ชั่น twig disqusEmbed
หากคุณเปิดใช้งาน "ผู้ใช้ Single Sign On" มันจะส่งออกบางอย่างเช่นนี้ภายในแท็กด้านบน:
this.page.remote_auth_s3 = "eyJpZCI6IjEiLCJ1c2VybmFtZSI6IkFkbWluIiwiZW1haWwiOiJhbmRyZXdAbWVnYWxvbWFuaWFjLmNvbSJ9 c0e4b8f2eca3c0e995cdd64ba2dedd720820ab5b 1431214361";
this.page.api_key = "GTX1r1JBbiJah3hzZkBO06hI71VxjyWxgdurckHYBWLiELkHDidVmnDkBW0XeROe";
ซึ่งสมมติว่าคุณได้ตั้งค่า Disqus SSO อย่างถูกต้องจะช่วยให้ผู้ใช้งานฝีมือของคุณเข้าสู่ระบบ Disqus โดยใช้ข้อมูลรับรองเว็บไซต์งานฝีมือของคุณ
หากคุณเปิดใช้งาน "ใช้ URL ล็อกอิน/ออกจากระบบที่กำหนดเอง" มันจะสร้างการตั้งค่า this.sso
สำหรับคุณตามที่อธิบายไว้ที่นี่
โดยค่าเริ่มต้น Disqus จะใช้ภาษาที่คุณตั้งไว้ใน Disqus Admin > Setup > Appearance
แต่คุณสามารถใช้มันบนเว็บไซต์หลายภาษาได้เช่นกัน
พารามิเตอร์ DISQUS_LANGUAGE
ที่คุณสามารถให้กับ {{ disqusEmbed() }}
ช่วยให้คุณสามารถควบคุมภาษาที่ disqus ฝังจะแสดงในความคิดเห็นอย่างไรก็ตามจะยังคงเหมือนเดิมสำหรับทุกภาษา
หากคุณต้องการให้ความคิดเห็นแตกต่างกันต่อภาษาคุณสามารถทำอะไรได้บ้าง:
{{ disqusEmbed(entry.slug ~ "_" ~ entry.locale, entry.title, entry.url, '', entry.locale ) }}
ซึ่งจะส่งผลให้เกิดความคิดเห็นที่แตกต่างกันสำหรับแต่ละภาษาและ disqus embed จะแสดงในภาษาเดียวกันกับความคิดเห็น
มาถึงคุณโดย Nystudio107