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.
bugban/symfony
beyonder-capi/workflow-extensions-bundle
beyonder-capi/job-queue-bundle
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin