이 크래프트 CMS 2.X 플러그인은 더 이상 지원되지 않지만 완전히 작동하며 적합한대로 계속 사용할 수 있습니다. 또한 라이센스를 사용하면 레거시 지원 이유에 필요한만큼 변경할 수 있습니다.
이 플러그인의 Craft CMS 3.X 버전은 여기에서 찾을 수 있으며 Craft-Disqus는 Craft CP의 Craft Plugin Store를 통해 설치할 수도 있습니다.
SSO (Single Sign On) 및 사용자 정의 로그인/로그 아웃 URL을 포함하여 Disqus 주석 시스템을 Craft CMS 웹 사이트에 통합하십시오.
관련 : Craft 3.X에 대한 Disqus
설치
disqus
디렉토리를 craft/plugins
디렉토리에 배치하십시오.git clone https://github.com/nystudio107/disqus.git
craft/plugins
폴더에 직접 사용하십시오. 그런 다음 git pull
으로 업데이트 할 수 있습니다composer require nystudio107/disqus
disqus
로 명명되어야합니다. Github는 최근 Zip 파일 다운로드를 위해 -master
(지점 이름)를 폴더 이름에 추가하기 시작했습니다. 먼저 Disqus 계정을 설정했는지 확인하십시오.
다음으로 Craft Admin CP에서 설정-> 플러그인-> disqus로 이동하여 Disqus 사이트의 짧은 이름을 입력하십시오. 이것은 Disqus 플러그인에 필요한 유일한 설정입니다.
모든 설정은 config.php
파일을 통해 구성 가능합니다.이 파일은 기본 설정을 저장하는 다중 환경 친화적 인 방법입니다. 이 파일을 편집하지 말고 대신 disqus.php
로 craft/config
에 복사하여 변경하십시오.
Disqus 플러그인의 실제 유용성은 공예 사이트와의 SSO (Single Sign) 통합을 처리한다는 것입니다.
이를 사용하기 전에 단일 사인온 웹 페이지 통합에 설명 된대로 Disqus SSO API를 설정해야합니다.
그런 다음 API 키와 API 비밀을 DISQUS 플러그인 설정에 복사하여 붙여 넣고 "사용자 단일 부호의"LightSwitch를 켭니다.
Disqus 플러그인은 또한 사용하려면 사용자 정의 로그인/로그 아웃 URL을 처리합니다. 자세한 내용은 자신의 SSO 로그인 및 로그 아웃 링크 추가를 참조하십시오.
Disqus UI 자체에 사용자 정의 로그인 버튼이 표시되기를 원합니다.
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는 빈 줄 인 모든 설정을 무시합니다 ''
사용할 일반적인 나뭇 가지 태그는 다음과 같습니다.
{{ 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
twig 필터/함수의 변수로 전달됩니다.
"사용자 단일 부호 켜짐"을 켜면 위의 태그 내부에서 이와 같은 내용을 출력합니다.
this.page.remote_auth_s3 = "eyJpZCI6IjEiLCJ1c2VybmFtZSI6IkFkbWluIiwiZW1haWwiOiJhbmRyZXdAbWVnYWxvbWFuaWFjLmNvbSJ9 c0e4b8f2eca3c0e995cdd64ba2dedd720820ab5b 1431214361";
this.page.api_key = "GTX1r1JBbiJah3hzZkBO06hI71VxjyWxgdurckHYBWLiELkHDidVmnDkBW0XeROe";
Disqus SSO를 올바르게 설정했다고 가정하면 Craft 웹 사이트 자격 증명을 사용하여 공예 사용자를 Disqus에 로그인 할 수 있습니다.
"사용자 정의 로그인/로그 아웃 URL 사용"이 켜져있는 경우 여기에 설명 된대로 this.sso
설정도 생성됩니다.
Disqus는 기본적으로 Disqus Admin > Setup > Appearance
에서 설정 한 언어를 사용하지만 다국어 웹 사이트에서도 사용할 수 있습니다.
{{ disqusEmbed() }}
에 제공 할 수있는 DISQUS_LANGUAGE
매개 변수를 사용하면 Disqus Embed가 표시되는 언어를 제어 할 수 있습니다. 그러나 주석은 여전히 모든 언어에 대해 동일합니다.
언어마다 다른 의견을 원한다면 다음과 같은 작업을 수행 할 수 있습니다.
{{ disqusEmbed(entry.slug ~ "_" ~ entry.locale, entry.title, entry.url, '', entry.locale ) }}
이로 인해 각 언어마다 다른 의견이 생길 것이며, Disqus Embed는 주석과 동일한 언어로 표시됩니다.
nystudio107에 의해 당신에게 가져 왔습니다