nikolaposa / zf-disqus
ZF module which facilitates integration of Disqus widgets
Installs: 10 679
Dependents: 0
Suggesters: 0
Security: 0
Stars: 12
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: ^7.0
- nikolaposa/disqus-helper: ^2.0
- zendframework/zend-servicemanager: ^3.0
- zendframework/zend-view: ^2.7
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0
- phpunit/phpunit: ^5.7 || ^6.0
- zendframework/zend-i18n: ^2.7
- zendframework/zend-modulemanager: ^2.7
- zendframework/zend-mvc: ^3.0
README
ZF module which facilitates integration of Disqus widgets.
Installation
The preferred method of installation is via Composer. Run the following command to install the latest version of a package and add it to your project's composer.json
:
composer require nikolaposa/zf-disqus
Provide your Disqus shortname through configuration:
<?php return [ 'disqus' => [ 'shortname' => 'your_disqus_shortname' //any other Disqus config can be provided here ], // ... ];
Enable the module in your application.config.php
:
<?php return [ 'modules' => [ // ... 'ZfDisqus', ], // ... ];
Usage
This module provides a Disqus
view helper (ZfDisqus\View\Helper\Disqus
) which is essentially a wrapper around the DisqusHelper. Refer to the DisqusHelper project documenation for more information about available widget methods.
Examples
Typical example would be in some application which uses layouts. Widgets should be rendered in specific templates, while Disqus assets will be rendered somewhere in the layout, most commonly within the head or tail sections:
Template
<!-- post.phtml --> <?php //Page-specific Disqus configuration $this->disqus()->configure([ 'identifier' => 'article_' . $this->post->id 'title' => $this->post->title, ]); ?> <article> <h1><?php echo $this->escapeHtml($this->post->title); ?></h1> <?php echo $this->post->body; ?> </article> <div> <h2>Comments:</h2> <!-- Thread widget HTML --> <?php echo $this->disqus()->thread(); ?> </div>
Layout
<!-- layout.phtml --> <html> <head> <title>Blog</title> </head> <body> <?php echo $this->content; ?> <!-- Render Disqus JS code --> <?php echo $this->disqus(); ?> </body> </html>
Credits
License
Released under MIT License - see the License File for details.