imhelle/yii-disqus-comments

此包的最新版本(dev-master)没有可用的许可证信息。

为Yii应用程序添加可同步Disqus评论的扩展

dev-master 2018-04-02 20:55 UTC

This package is not auto-updated.

Last update: 2024-09-29 22:40:53 UTC


README

为Yii应用程序添加Disqus评论(https://disqus.com)。提供使用Disqus评论小部件,并同步您的Disqus评论到您的数据库(这可以帮助Google索引评论)。

安装

要使用composer安装,请将包要求添加到您的composer.json文件中

"imhelle/yii-disqus-comments": "dev-master"

您也可以直接克隆项目或将其提取到您的Yii应用程序的protected/extensions目录下。

配置

需要将扩展添加到您的应用程序和控制台配置中作为组件

'components' => array(
        ...
        'disqusComments' => array(
            'class' => 'application.vendor.imhelle.yii-disqus-comments.EDisqusComments', // or "ext.yii-disqus-comments.EDisqusComments" if you install it in extension folder.
            'apiKey' => 'YOUR_API_KEY',
            'shortName' => 'YOUR_SHORT_NAME'
        ),
        ...

短名是在您在 https://disqus.com/admin/create/ 注册后为您的网站获取的指定名称

您在 https://disqus.com/api/applications/ 注册应用程序时将获得的API密钥,它是使用Disqus API所必需的。

为了方便使用同步控制台命令,您可以在控制台配置中将其添加到您的commandMap

'commandMap' => array(
        'update_disqus_comments' => array(
            'class' => 'application.vendor.imhelle.yii-disqus-comments.commands.UpdateDisqusComments'
        ),
        'update_url_map' => array(
            'class' => 'application.vendor.imhelle.yii-disqus-comments.commands.UpdateUrlMap'
        ),
    ),

应用迁移以创建存储同步评论的表

php yiic.php migrate --migrationPath=application.vendor.imhelle.yii-disqus-comments.migrations

扩展为小部件提供了缓存使用。您可以为使用的缓存组件设置您的ID。

'components' => array(
        'disqusComments' => array(
            'class' => 'application.vendor.imhelle.yii-disqus-comments.EDisqusComments',
            'apiKey' => 'YOUR_API_KEY',
            'shortName' => 'YOUR_SHORT_NAME',
            'cacheId' = 'cache' // you can set it here
        ),

基本用法

将此小部件添加到视图以获取Disqus评论

<?php $this->widget('disqusComments.widgets.DisqusCommentsWidget', array('pageUrl' => $pageUrl)); ?>

此小部件可以接收当前网站页面的URL。这对于从数据库获取同步评论是必要的。

扩展提供了从Disqus同步评论的控制台命令。

要同步Disqus中的所有评论(通过您在评论表中拥有的URL),请运行控制台命令

 php yiic.php update_disqus_comments all

注意:如果您有多个Disqus线程,此命令的执行可能需要很长时间。

要同步最新的评论,您可以运行此

 php yiic.php update_disqus_comments recent

此命令将获取您上次更新的时间,并请求在此时间更新过的评论线程。建议将此命令添加到您的crontab中,以自动同步评论。

要从Disqus API获取初始URL映射,您可以运行此命令

 php yiic.php update_url_map fromApi

您还可以从 https://iconschallenge.disqus.com/admin/discussions/migrate/(“开始URL映射器”按钮)下载映射并从其中更新URL

 php yiic.php update_url_map fromCSV --filePath='PATH_TO_YOUR_FILE'

扩展还提供了在数据库中自动更新URL。如果您将 $autoUpdateMap 参数设置为true,则扩展将在小部件加载时同步Disqus评论。

'components' => array(
        'disqusComments' => array(
            'class' => 'application.vendor.imhelle.yii-disqus-comments.EDisqusComments',
            'apiKey' => 'YOUR_API_KEY',
            'shortName' => 'YOUR_SHORT_NAME',
            'autoUpdateMap' = true // this one
        ),

请注意,此参数默认为true。