Este plug -in CMS 2.x de artesanato não é mais suportado, mas é totalmente funcional e você pode continuar a usá -lo como achar melhor. A licença também permite bifurcar e fazer alterações conforme necessário por motivos de suporte herdado.
A versão Craft CMS 3.x deste plug-in pode ser encontrada aqui: Craft-Disqus e também pode ser instalada na loja de plugins de artesanato no Craft CP.
Integre o sistema DISQUS Comenting System em sites Craft CMS, incluindo URLs de sinal único (SSO) e login/logout personalizado.
Relacionado: Disqus for Craft 3.x
Instalação
disqus
no diretório craft/plugins
git clone https://github.com/nystudio107/disqus.git
diretamente na pasta craft/plugins
. Você pode atualizá -lo com git pull
composer require nystudio107/disqus
disqus
for Craft para vê -lo. O Github começou recentemente a anexar -master
(o nome da filial) ao nome da pasta para downloads de arquivo zip. Primeiro, verifique se você configurou uma conta Disqus.
Em seguida, no ARGURTO ADMIN CP, vá para Configurações-> Plugins-> Disqus e digite o nome curto para o seu site DISQUS. Esta é a única configuração necessária para o plug -in Disqus.
Todas as configurações também são configuráveis através do arquivo config.php
, que é uma maneira amigável de vários ambientes de armazenar as configurações padrão. Não edite este arquivo, em vez disso, copie -o para craft/config
como disqus.php
e faça suas alterações lá.
A utilidade real do plug -in Disqus é que ele cuida da integração de sinal único (SSO) com o seu site de artesanato.
Antes de poder usar isso, você precisará configurar a API Disqus SSO, conforme descrito na página da Web Integrating Single Sign-On.
Em seguida, copie e cole a tecla API e o segredo da API nas configurações do plug -in Disqus e ligue o LightSwitch "Usuário em sinalização" LightSwitch.
O plug -in Disqus também cuidará dos URLs de login/logout personalizados, caso deseje usá -los. Consulte Adicionando seus próprios links de login e logout SSO para obter detalhes.
Você só precisa disso é que você deseja ter um botão de login personalizado exibido na própria interface do Disqus.
url
deve ser o endereço da sua página de login. A página será aberta em uma nova janela e deve se fechar depois que a autenticação for concluída. É assim que sabemos quando é feito e recarregue a página.
logout
deve ser definido como http://example.com/actions/disqus/logoutRedirect
para atingir o controlador Disqus que lida com o logout e redireciona.
Todos esses métodos realizam a mesma coisa:
{# 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) }}
Todos os parâmetros, exceto para DISQUS_IDENTIFIER
são opcionais. Para obter mais informações sobre quais são esses parâmetros, consulte Variáveis de configuração JavaScript
Disqus ignora quaisquer configurações que sejam cordas vazias, por exemplo: ''
A tag típica de galho que você usaria seria assim:
{{ disqusEmbed(entry.slug, entry.title, entry.url) }}
... o que resultará em comentários únicos por entrada.
Em seu caso mais básico, isso resultará em saída para o seu modelo de artesanato que se parece com o seguinte:
<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>
A configuração DISQUS_SHORTNAME
é retirada das configurações do Admin CP ou config.php
, e o restante das configurações DISQUS_*
é passado como variáveis do filtro/função do Twig disqusEmbed
.
Se você ativou o "usuário único do usuário em", ele também produzirá algo assim dentro da tag acima:
this.page.remote_auth_s3 = "eyJpZCI6IjEiLCJ1c2VybmFtZSI6IkFkbWluIiwiZW1haWwiOiJhbmRyZXdAbWVnYWxvbWFuaWFjLmNvbSJ9 c0e4b8f2eca3c0e995cdd64ba2dedd720820ab5b 1431214361";
this.page.api_key = "GTX1r1JBbiJah3hzZkBO06hI71VxjyWxgdurckHYBWLiELkHDidVmnDkBW0XeROe";
O que, supondo que você tenha configurado o DISQUS SSO corretamente, permitirá que seus usuários de artesanato sejam conectados ao Disqus usando as credenciais do seu site de artesanato.
Se você tiver "Use URLs de login/logout personalizados" LIGADO, ele também gerará as configurações this.sso
para você, conforme descrito aqui
Por padrão, o DISQUS usará o idioma que você definiu no Disqus Admin > Setup > Appearance
, mas você também pode usá-lo em sites multilíngues.
O parâmetro DISQUS_LANGUAGE
que você pode fornecer a {{ disqusEmbed() }}
permite controlar o idioma em que o DISQUS incorporado é exibido. Os comentários, no entanto, ainda serão os mesmos para todos os idiomas.
Se você deseja que os comentários sejam diferentes por língua, você pode fazer algo como:
{{ disqusEmbed(entry.slug ~ "_" ~ entry.locale, entry.title, entry.url, '', entry.locale ) }}
Isso resultará em comentários que são diferentes para cada idioma, e o Disqus incorporado será exibido no mesmo idioma que os comentários.
Trazido a você por NyStudio107