elephantsgroup/eg-like

Yii2 like 模块

安装: 35

依赖者: 4

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

公开问题: 1

类型:yii2-extension

1.0.1 2018-06-08 19:06 UTC

This package is not auto-updated.

Last update: 2024-09-15 23:52:30 UTC


README

要使用 Elephants Group like 模块,首先您必须安装模块,然后您可以在网站的任何地方使用 like 小部件。

安装步骤

  1. 运行

php composer.phar require elephantsgroup/eg-like "*"

或将 "elephantsgroup/eg-like": "*" 添加到您的 composer.json 文件的要求部分。

  1. 迁移数据库

yii migrate --migrationPath=vendor/elephantsgroup/eg-like/migrations

  1. 将 like 模块添加到公共配置(common/config.php 文件)
    ...
    'like' => [
        'class' => 'elephantsGroup\like\Module',
    ],
    ...
]```

4) open access to module in common configuration

```'as access' => [
    'class' => 'mdm\admin\components\AccessControl',
    'allowActions' => [
        ...
        'like/ajax/*',
        ...
    ]
]```

5) filter admin controller in frontend configuration (frontend/config.php file)

```'modules' => [
    ...
    'like' => [
        'as frontend' => 'elephantsGroup\like\filters\FrontendFilter',
    ],
    ...
]```

5) filter ajax controller in backend configuration (backend/config.php file)

```'modules' => [
    ...
    'like' => [
        'as backend' => 'elephantsGroup\like\filters\BackendFilter',
    ],
    ...
]```

Using like widget
===

Anywhere in your code you can use like widget as follows:
```<?= Likes::widget() ?>```

You need to use Likes widget header in your page:
```use elephantsGroup\like\components\Likes;```

Like widget parameters
---

- item (integer): to separate likes between different items.
```<?= Likes::widget(['item' => 1]) ?>```
```<?= Likes::widget(['item' => $model->id]) ?>```

default value for item is 0
- service (integer): to separate likes between various item types.
```<?= Likes::widget(['service' => 1, 'item' => $model->id]) ?>```

for example you can use different values for different modules in your app, and then use like widget separately in modules.
default value for service is 0
- color (string): color of unliked icon heart, default 'black'
```<?= Likes::widget(['service' => 1, ''item' => $model->id, 'color' => 'yellow']) ?>```

- view_file (string): the view file path for rendering

```<?= Likes::widget([
    'service' => 1,
    'item' => $model->id,
    'color' => 'yellow',
    'view_file' => Yii::getAlias('@frontend') . '/views/like/widget.php'
]) ?>```

you can use these variables in your customized view:
* service
* item
* color
* is_like