Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Disqus Bundle Laravel Package

aureka/disqus-bundle

View on GitHub
Deep Wiki
Context7

AurekaDisqusBundle

Build Status

Provides Twig funtions to facilitate the integration of your Symfony site with Disqus. It also enables the Disqus Single Sign-On.

Functions

  • disqus(blogpost): Append the JavaScript for the disqus thread.
  • disqus_count(): Appends the JavaScript for the comment count.

Installation

Add the following line to your composer.json:

{
    "require": {
        "aureka/disqus-bundle" : "dev-master"
    }
}

Execute composer update.

Add the following line to your AppKernel.php.

public function registerBundles()
{
    $bundles = array(
        // your other bundles
        new Aureka\DisqusBundle\AurekaDisqusBundle(),
    );
}

Configuration

Add the following lines to your config.yml:

aureka_disqus:
    short_name: 'your_shortname' # used to identify the site in disqus

Basic usage

Make the class an implementation of the interface Disqusable:

# src/Acme/DemoBundle/Entity/BlogPost.php

namespace Acme\DemoBundle\Entity;

use Aureka\DisqusBundle\Model\Disqusable;

class BlogPost implements Disqusable
{

    // ... your other methods

    public function getDisqusId()
    {
        return $this->disqusId; // generate it on the fly or make it persisted.
    }
}

Use the twig filter in your template.

{# src/Acme/DemoBundle/Resources/views/BlogPost/show.html.twig #}

{# renders the thread and comment form #}
{{ disqus(blogpost) }}

{# adds the count for any disqus link #}
{{ disqus_count() }}

Single Sign-On

Disqus brings a Single Sign-On feature that lets your application authenticate its users in Disqus.

In order to do that you need to activate the add-on in your Disqus account, create an app for your website and add the following settings to config.yml:

aureka_disqus:
    short_name: 'your_shortname' # used to identify the site in disqus
    sso:
        enabled: true
        api_key: 'enter_your_api_key_here'
        private_key: 'enter_the application_private_key_here'

Now go to your User class and make it an implementation of DisqusUser:

# src/Acme/DemoBundle/Entity/User.php

namespace Acme\DemoBundle\Entity;

use Areka\DisqusBundle\Model\DisqusUser;

class User implements DisqusUser
{
    public function getDisqusId()
    {
        return $this->id; // Or a custom generated id
    }
}

For further information, please visit the official documentation.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
comsave/common
alecsammon/php-raml-parser
chrome-php/wrench
lendable/composer-license-checker
typhoon/reflection
mesilov/moneyphp-percentage
mike42/gfx-php
bookdown/themes
aura/view
aura/html
aura/cli
povils/phpmnd
nayjest/manipulator
omnipay/tests
psr-mock/http-message-implementation
psr-mock/http-factory-implementation
psr-mock/http-client-implementation
voku/email-check
voku/urlify
rtheunissen/guzzle-log-middleware