movingimage/mi-comments-bundle

此包已被废弃,不再维护。未建议替代包。

Symfony扩展,提供评论功能(发布、阅读和管理评论)

3.1.0 2018-08-10 08:54 UTC

This package is not auto-updated.

Last update: 2020-02-07 09:33:53 UTC


README

Build Status

Symfony扩展,提供评论功能(发布、阅读和管理评论)。

特性包括

  • 获取现有评论的API端点(支持分页)
  • 发布评论的API端点
  • 管理评论的行政区域(列出、发布和拒绝)

安装

添加composer依赖

composer require movingimage/mi-comments-bundle

在AppKernel.php中包含MICommentsBundle和相关扩展

$bundles = [
    //...
    new FOS\RestBundle\FOSRestBundle(),
    new JMS\SerializerBundle\JMSSerializerBundle(),
    new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
    new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(), //optional
    new MovingImage\Bundle\MICommentsBundle\MICommentsBundle(),
];

将扩展路由包含到routing.yml中

mi_comments:
    resource: "@MICommentsBundle/Resources/config/routing.yml"
    prefix:   /

如果需要,可以选择不同的前缀。

在config.yml中配置扩展

mi_comments:
   auto_publish: true //optional, by default is false
   css: /path/to/css/file //optional
   display_max_length: 100 //optional

在config.yml中配置Doctrine迁移扩展(可选)

doctrine_migrations:
    dir_name: "%kernel.root_dir%/../vendor/movingimage/mi-comments-bundle/Migrations"
    namespace: MovingImage\Bundle\MICommentsBundle\Migrations
    table_name: mi_comments_bundle_migration_versions
    name: MICommentsBundle Migrations
    organize_migrations: false
    custom_template: ~

如果您已经在项目中使用Doctrine迁移扩展,请保留当前配置,但将迁移文件从Migrations目录复制到您的现有迁移目录。或者,您可以手动创建所需的表。在这种情况下,您不需要使用Doctrine迁移扩展。

配置Sonata Admin Bundle(可选)

  • 将SonataBundle和相关扩展添加到AppKernel.php
$bundles = [
    //...
    new Symfony\Bundle\SecurityBundle\SecurityBundle(),
    new Sonata\CoreBundle\SonataCoreBundle(),
    new Sonata\BlockBundle\SonataBlockBundle(),
    new Knp\Bundle\MenuBundle\KnpMenuBundle(),
    new Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle(),
    new Sonata\AdminBundle\SonataAdminBundle(),
];
  • 在config.yml中启用翻译器
translator: { fallbacks: ['%locale%'] }
  • 在config.yml中配置sonata扩展
sonata_block:
    blocks:
        sonata.admin.block.admin_list:
            contexts: [admin]
        sonata.admin.block.search_result:
            contexts: [admin]

sonata_admin: ~
  • 在routing.yml中配置路由
mi_comments_admin:
    resource: "@MICommentsBundle/Resources/config/admin_routing.yml"
    prefix:   /admin

如果需要,可以选择不同的前缀。

  • 安装资源
./bin/console assets:install

配置参数

参数 类型 默认值 必需 描述
auto_publish 布尔型 false 如果为真,评论将自动发布。
css 字符串 null CSS文件路径。如果提供,将被包含在sonata布局中。
display_max_length 整数 20 在sonata列表中显示的评论的最大长度。

用法

发布评论

curl -X POST \
  http://<base_url>/comments \
  -H 'Content-Type: application/json' \
  -d '{
	"user": {
	    "email": "pavle.predic@movingimage.com",
	    "name": "Pavle Predic"
	},
	"entity": {
	    "id": "DF3osABraqfGPaSGtty8vt",
	    "title": "Recruiting Teaser Karo & Matthias"
	},
	"comment": "What an awesome video! Great job!"
}'

获取已发布的评论

curl -X GET <base_url>/comments?entityId=DF3osABraqfGPaSGtty8vt&limit=10&offset=20

这将返回指定视频ID(如果提供)的已发布评论列表,按创建日期排序(最新的在前)。如果没有提供限制和偏移量,将使用默认值(限制:10,偏移:0)。

许可证

此扩展受BSD 3条款许可证的约束。请检查LICENSE文件以获取完整的许可证。