imhelle / yii-disqus-comments
为Yii应用程序添加可同步Disqus评论的扩展
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。