Disqus module for SilverStripe CMS
PHP Scheme
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
_config
code
lang
templates/Includes
LICENSE
README.md
code-of-conduct.md
composer.json

README.md

Installation & setup:

Download source code:

cd /path/to/your/silverstrie/installation/
git clone git://github.com/silverstripesk/silverstripe-disqus.git disqus

Or install with composer:

composer require "silverstripesk/silverstripe-disqus:*"

Activate in your config and Build

create mysite/_config/comments.yml and activate for your commentable class (or Page for all pagetypes)

---
Name: mysite-comments
---
BlogPost:
  extensions:
    - DisqusExtension

Build your ss installation - in browser visit following url:

http://your-ss-installation/dev/build

Setup in SiteConfig area

In backend visit SiteConfig area, tab Disqus, place required data:

  • disqus shortname (from your disqus account)
  • disqus secret key (from your disqus account)
  • disqus prefix (place there anything you want. Store diferent prefix for local and production, so thread identifier will be different and your local testing comments will not be shown on production.) By default, identifier looks like this: prefix_pageID. You can customize this for each Page (Behaviour tab, right above Comments checkbox) so you can show same comments on multiple pages (alternatively, create different forum for local copy of your site)...
  • Disqus sync time -> comments can be synced with disqus server for SS usage (e.g. generate comments for non javascript usage, search, latest comments listing...). Place time in seconds (3600 for 1 hour)
  • By default, time syncing works as standard php process within visitor's page load (so if there are some difficulties with disqus server connection, page load can be limited). You can enable background syncing, so syncing is independent from visitor's page load. Its alpha feature, tested only on linux!

Activate in your theme

Replace

$PageComments

with following code

$DisqusPageComments

if you are on some Page holder (list of pages), you can show comments count by adding:

<% if disqusEnabled %>$disqusCountLink<% end_if %>

Usage

If default comments module installed:

Check SS default Enable Page Comments Checkbox (located in Settings tab) to enable disqus comments

Else

Comments will be shown on all pagetypes activated in comments.yml

Collaboration

If you want to help out and make some improvements please fork this project and submit a pull request (see this guide on how to do this: Pull requests).

TODO

If silverstripe/comments module installed: sync both to have same comments on both sides