Этот плагин Craft CMS 2.x больше не поддерживается, но он полностью функционален, и вы можете продолжать использовать его по мере того, как вы видите. Лицензия также позволяет вам расколоть его и вносить изменения по мере необходимости для устаревших причинах поддержки.
Крафта CMS 3.x версии этого плагина можно найти здесь: Craft-Disqus, а также может быть установлен через хранилище Craft Plagin в Craft CP.
Интегрируйте систему комментирования Disqus в Craft CMS -сайты, включая единый знак (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.
Затем в CP Craft Admin CP перейдите к настройкам-> Plugins-> DISQUS и введите короткое имя для вашего сайта DISQUS. Это единственная необходимая настройка для плагина Disqus.
Все настройки также настраиваются через файл config.php
, который представляет собой удобный способ сохранить настройки по умолчанию. Не редактируйте этот файл, вместо этого скопируйте его в craft/config
в качестве disqus.php
и вносите свои изменения там.
Реальная полезность плагина DISQUS заключается в том, что он заботится о единственном знаке (SSO) интеграции с вашим ремесленным сайтом.
Прежде чем вы сможете использовать это, вам нужно настроить API DisQUS SSO, как описано на веб-странице интегрирующего отдельного входа.
Затем скопируйте и вставьте ключ API и секрет API в настройки плагина Disqus и включите «Пользовательский единый знак» на «Lightswitch».
Плагин DISQUS также позаботится о пользовательских URL -адресах входа/входа в систему, если вы хотите их использовать. Пожалуйста, смотрите для получения дополнительной информации о добавлении собственных ссылок SSO и входа в систему.
Вам нужно только это, это вы хотите, чтобы в самом пользовательском интерфейсе DISQUS отображалась пользовательская кнопка для входа в систему.
url
должен быть адресом вашей страницы входа. Страница будет открыта в новом окне, и она должна закрыться после того, как аутентификация будет сделана. Вот как мы узнаем, когда это сделано, и перезагрузить страницу.
logout
должен быть установлен на http://example.com/actions/disqus/logoutRedirect
чтобы нажать контроллер Disqus, который обрабатывает вход и перенаправление.
Все эти методы выполняют одно и то же:
{# 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 игнорирует любые настройки, которые являются пустыми строками, например: ''
Типичный тег Twig, который вы используете, будет выглядеть так:
{{ 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_*
передаются в виде переменных из фильтра/функции ветки disqusEmbed
.
Если вы включили «Пользовательский единый знак», он также выведет что -то подобное внутри вышеуказанного тега:
this.page.remote_auth_s3 = "eyJpZCI6IjEiLCJ1c2VybmFtZSI6IkFkbWluIiwiZW1haWwiOiJhbmRyZXdAbWVnYWxvbWFuaWFjLmNvbSJ9 c0e4b8f2eca3c0e995cdd64ba2dedd720820ab5b 1431214361";
this.page.api_key = "GTX1r1JBbiJah3hzZkBO06hI71VxjyWxgdurckHYBWLiELkHDidVmnDkBW0XeROe";
Что, предполагая, что вы правильно настроили SSO Disqus, позволите вашим пользователям ремесла быть введенным в Disqus, используя учетные данные вашего сайта Craft.
Если вы включите «использование пользовательских URL -адресов входа/выхода this.sso
.
По умолчанию Disqus будет использовать язык, который вы установили в Disqus Admin > Setup > Appearance
, однако вы также можете использовать его на многоязычных веб-сайтах.
Параметр DISQUS_LANGUAGE
, который вы можете предоставить {{ disqusEmbed() }}
позволяет управлять языком, который отображается встроенный Disqus. Комментарии, однако, по -прежнему будут одинаковыми для всех языков.
Если вы хотите, чтобы комментарии сами были разными на языке, вы можете сделать что-то вроде:
{{ disqusEmbed(entry.slug ~ "_" ~ entry.locale, entry.title, entry.url, '', entry.locale ) }}
Это приведет к комментариям, которые отличаются для каждого языка, и Disqus Enced будет отображаться на том же языке, что и комментарии.
Принесен вам Nystudio107