Plugin Craft CMS 2.X ini tidak lagi didukung, tetapi berfungsi penuh, dan Anda dapat terus menggunakannya sesuai keinginan Anda. Lisensi ini juga memungkinkan Anda untuk membayar dan membuat perubahan sesuai kebutuhan untuk alasan dukungan warisan.
Versi CMS 3.x dari plugin ini dapat ditemukan di sini: Craft-Disqus dan juga dapat diinstal melalui toko plugin Craft di CP Craft.
Integrasi sistem komentar DISQUS ke dalam situs web Craft CMS, termasuk Single Sign on (SSO) dan URL login/logout khusus.
Terkait: Disqus untuk Kerajinan 3.x
Instalasi
disqus
ke Direktori craft/plugins
Andagit clone https://github.com/nystudio107/disqus.git
langsung ke folder craft/plugins
Anda. Anda kemudian dapat memperbaruinya dengan git pull
composer require nystudio107/disqus
disqus
untuk kerajinan untuk melihatnya. GitHub baru -baru ini mulai menambahkan -master
(nama cabang) dengan nama folder untuk unduhan file zip. Pertama, pastikan Anda telah mengatur akun Disqus.
Berikutnya di Craft Admin CP, buka Pengaturan-> Plugins-> Disqus dan masukkan nama pendek untuk situs Disqus Anda. Ini adalah satu -satunya pengaturan yang diperlukan untuk plugin Disqus.
Semua pengaturan juga dapat dikonfigurasi melalui file config.php
, yang merupakan cara ramah multi-lingkungan untuk menyimpan pengaturan default. Jangan mengedit file ini, sebaliknya salin ke craft/config
sebagai disqus.php
dan buat perubahan Anda di sana.
Kegunaan nyata dari plugin Disqus adalah bahwa ia menangani integrasi tanda tunggal (SSO) dengan situs kerajinan Anda.
Sebelum Anda dapat menggunakan ini, Anda harus mengatur API Disqus SSO seperti yang dijelaskan pada halaman web masuk tunggal yang mengintegrasikan.
Kemudian salin dan tempel Kunci API dan Rahasia API ke dalam pengaturan plugin Disqus, dan nyalakan "Pengguna Single Sign on" LightSwitch.
Plugin Disqus juga akan mengurus URL login/logout khusus, jika Anda ingin menggunakannya. Silakan lihat Menambahkan Tautan Login dan Logout SSO Anda sendiri untuk detailnya.
Anda hanya membutuhkan ini adalah Anda ingin memiliki tombol login khusus yang ditampilkan di Disqus UI itu sendiri.
url
harus menjadi alamat halaman login Anda. Halaman akan dibuka di jendela baru dan harus menutup dirinya setelah otentikasi selesai. Itulah yang kita ketahui kapan itu dilakukan dan memuat ulang halaman.
logout
harus diatur ke http://example.com/actions/disqus/logoutRedirect
untuk menekan pengontrol disqus yang menangani logout dan pengalihan.
Semua metode ini mencapai hal yang sama:
{# 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) }}
Semua parameter kecuali untuk DISQUS_IDENTIFIER
adalah opsional. Untuk informasi lebih lanjut tentang apa parameter ini, silakan lihat variabel konfigurasi javascript
Disqus mengabaikan pengaturan apa pun yang merupakan string kosong, misalnya: ''
Tag ranting khas yang akan Anda gunakan akan terlihat seperti ini:
{{ disqusEmbed(entry.slug, entry.title, entry.url) }}
... yang akan menghasilkan komentar yang unik berdasarkan entri.
Dalam kasusnya yang paling mendasar, ini akan menghasilkan output ke template kerajinan Anda yang terlihat seperti ini:
<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>
Pengaturan DISQUS_SHORTNAME
diambil dari pengaturan admin cp atau config.php
, dan sisa pengaturan DISQUS_*
diteruskan dalam variabel dari variabel dari filter/fungsi ranting disqusEmbed
.
Jika Anda telah mengaktifkan "Pengguna Single Sign on" itu juga akan menghasilkan sesuatu seperti ini di dalam tag di atas:
this.page.remote_auth_s3 = "eyJpZCI6IjEiLCJ1c2VybmFtZSI6IkFkbWluIiwiZW1haWwiOiJhbmRyZXdAbWVnYWxvbWFuaWFjLmNvbSJ9 c0e4b8f2eca3c0e995cdd64ba2dedd720820ab5b 1431214361";
this.page.api_key = "GTX1r1JBbiJah3hzZkBO06hI71VxjyWxgdurckHYBWLiELkHDidVmnDkBW0XeROe";
Yang, dengan asumsi Anda telah mengatur Disqus SSO dengan benar, akan memungkinkan pengguna kerajinan Anda untuk masuk ke Disqus menggunakan kredensial situs web kerajinan Anda.
Jika Anda telah "menggunakan URL login/logout khusus" dihidupkan, itu juga akan menghasilkan pengaturan this.sso
untuk Anda, seperti yang dijelaskan di sini
Secara default, Disqus akan menggunakan bahasa yang telah Anda atur di Disqus Admin > Setup > Appearance
, namun Anda dapat menggunakannya di situs web multi-bahasa juga.
Parameter DISQUS_LANGUAGE
yang dapat Anda berikan untuk {{ disqusEmbed() }}
memungkinkan Anda untuk mengontrol bahasa yang ditampilkan oleh disqus. Komentar, bagaimanapun, masih akan sama untuk semua bahasa.
Jika Anda ingin komentar itu sendiri berbeda per-bahasa, Anda dapat melakukan sesuatu seperti:
{{ disqusEmbed(entry.slug ~ "_" ~ entry.locale, entry.title, entry.url, '', entry.locale ) }}
Ini akan menghasilkan komentar yang berbeda untuk setiap bahasa, dan disqus embed akan ditampilkan dalam bahasa yang sama dengan komentar.
Dibawa kepada Anda oleh nystudio107