ermakk/yii2-module-likes

为您的模型添加点赞系统的Yii2模块。

安装: 0

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:yii2-extension

dev-master 2022-07-18 03:02 UTC

This package is auto-updated.

Last update: 2024-09-18 07:44:48 UTC


README

Build Status Latest Stable Version Latest Unstable Version Total Downloads License

模块信息

这是一个简单的模块,用于为任何模型添加点赞系统。模块不需要额外的字段。它将在数据库中创建一个表,并通过ID、模型和用户ID关联投票。再次点击点赞将取消点赞。

模块的主要组件包括

  • ermakk\Yii2-module-likes\widgets\LikesButton - 点赞按钮小部件;

安装

安装模块

composer require ermakk/yii2-module-likes 

接下来执行迁移以创建ermakk_likes

$ ./yii migrate --migrationPath=@common/modules/ermakk/yii2-module-likes/src/migrations/

@common/config/bootstrap.php中添加

    Yii::setAlias('@ermakk/likes', dirname(dirname(__DIR__)) . '/common/modules/ermakk/Yii2-module-likes/src');

由于模块需要控制器来运行,因此需要在Yii2应用程序的配置中指定模块

    ...
    'modules' => [
           'votes' => [
                'class' => 'ermakk\likes\LikesModule',
            ],
        ],
    ...

配置

默认模块配置具有以下参数

    'pluginOptions' => [
        'buttonClass' => 'like-true btn', //класс для кнопки лайка
        'buttonClassTrueState' => 'btn-outline-secondary', //дополнительный класс для кнопки в отмеченном состоянии
        'buttonClassFalseState' => 'btn-outline-primary', //дополнительный класс для кнопки в неотмеченном состоянии
        'icoTrueState' => '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-heart-fill" viewBox="0 0 16 16">
                              <path fill-rule="evenodd" d="M8 1.314C12.438-3.248 23.534 4.735 8 15-7.534 4.736 3.562-3.248 8 1.314z"/>
                            </svg>', //тег для изображения кнопки в отмеченном состоянии
        'icoFalseState' => '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-heart" viewBox="0 0 16 16">
                              <path d="m8 2.748-.717-.737C5.6.281 2.514.878 1.4 3.053c-.523 1.023-.641 2.5.314 4.385.92 1.815 2.834 3.989 6.286 6.357 3.452-2.368 5.365-4.542 6.286-6.357.955-1.886.838-3.362.314-4.385C13.486.878 10.4.28 8.717 2.01L8 2.748zM8 15C-7.333 4.868 3.279-3.04 7.824 1.143c.06.055.119.112.176.171a3.12 3.12 0 0 1 .176-.17C12.72-3.042 23.333 4.867 8 15z"/>
                            </svg>',//тег для изображения кнопки в неотмеченном состоянии
        'counterClass' => 'count-likes', //класс для счетчика на кнопке
    ];

    'behaviors' => [
        'beforeLike' => '', //js функция выполняемая перед добавления лайка
        'afterLike' => '', //js функция выполняемая после добавления лайка
    ];

要设置自己的按钮或小部件样式,请修改这些设置。如果需要更深入的定制,请将模块提取出来并直接修改模块代码。