Disqus 擴充功能允許網站訪客使用基於 AJAX 的評論系統對各個套件進行評論。該插件的缺點是評論不會儲存在本地,並且用戶資訊不會在 CKAN 和評論系統之間共享。
注意:此擴充功能需要ckan 1.7或更高版本
為了設定 Disqus 插件,您首先需要造訪 disqus.com 並使用您的網域設定一個論壇。您將能夠選擇一個論壇名稱。
要安裝插件,請輸入您的 virtualenv 並載入來源:
(pyenv)$ pip install -e git+https://github.com/okfn/ckanext-disqus#egg=ckanext-disqus
對於2.0之前的ckan版本,請使用release-v1.8分支。
這也將註冊一個插件入口點,因此您現在應該能夠將以下內容新增到您的 CKAN .ini 檔案中:
ckan.plugins = disqus <其他插件> disqus.name = YOUR_DISQUS_NAME
此時,每個資料集視圖頁面都會有 Disqus 註解。若要將評論新增至其他頁面,請參閱下一節。
Disqus 將使用 window.location.href 作為 disqus_url。有時指定 disqus 使用的基本 url 會很有幫助,尤其是在開發過程中。這可以加入 CKAN .ini 檔案:
disqus.disqus_url = my_staging.server.com
請勿包含“http://”或尾部斜線。
要讓評論線程顯示在頁面上,請插入到您希望顯示評論的模板中:
{{h.disqus_comments()}}
主題開發人員請注意:擴充功能嘗試產生以下形式的 disqus_identifier:
{控制器/網域物件名稱}::{id}
其中,群組部分中的controller = 'group',資料集部分中的'dataset'(請注意,這與內部的控制器名稱不同,後者仍然是套件),資源的'resource'等。要的話,此標識符將很有用在網站的其他地方引用此評論(例如評論計數)。
在您希望顯示最近評論的頁面上插入:
{{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