yii2-vote

Votes :thumbsup: :thumbsdown: // Favorite :star: // Like :heart: module for Yii 2

  • Owner: hauntd/yii2-vote
  • Platform:
  • License:: BSD 3-Clause "New" or "Revised" License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Yii2-Vote Latest Version License Scrutinizer Code Quality Code Climate

This module allows you to attach vote widgets, like/favorite buttons to your models.

Demo

  • Attach as many widgets to model as you need
  • Customization (action, events, views)
  • Useful widgets included (Favorite button, Like button, Rating "up/down")

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist hauntd/yii2-vote "0.3.*"

or add

"hauntd/yii2-vote": "*"

to the require section of your composer.json file.

Configuration

Add module settings to your application config (config/main.php).

Entity names should be in camelCase like itemVote, itemVoteGuests, itemLike and itemFavorite.

return [
  'modules' => [
    'vote' => [
      'class' => hauntd\vote\Module::class,
        'guestTimeLimit' => 3600,
        'entities' => [
          // Entity -> Settings
          'itemVote' => app\models\Item::class, // your model
          'itemVoteGuests' => [
              'modelName' => app\models\Item::class, // your model
              'allowGuests' => true,
              'allowSelfVote' => false,
              'entityAuthorAttribute' => 'user_id',
          ],
          'itemLike' => [
              'modelName' => app\models\Item::class, // your model
              'type' => hauntd\vote\Module::TYPE_TOGGLE, // like/favorite button
          ],
          'itemFavorite' => [
              'modelName' => app\models\Item::class, // your model
              'type' => hauntd\vote\Module::TYPE_TOGGLE, // like/favorite button
          ],
      ],
    ],
  ],
  'components' => [
    ...
  ]
];

After you downloaded and configured hauntd/yii2-vote, the last thing you need to do is updating your database schema by applying the migrations:

php yii migrate/up --migrationPath=@vendor/hauntd/yii2-vote/migrations/

Usage

Vote widget:

<?= \hauntd\vote\widgets\Vote::widget([
  'entity' => 'itemVote',
  'model' => $model,
  'options' => ['class' => 'vote vote-visible-buttons']
]); ?>

Like/Favorite widgets:

<?= \hauntd\vote\widgets\Favorite::widget([
    'entity' => 'itemFavorite',
    'model' => $model,
]); ?>

<?= \hauntd\vote\widgets\Like::widget([
    'entity' => 'itemLike',
    'model' => $model,
]); ?>

Change log

Please see CHANGELOG for more information what has changed recently.

Documentation

License

BSD 3-Clause License. Please see License File for more information.

Main metrics

Overview
Name With Ownerhauntd/yii2-vote
Primary LanguagePHP
Program languagePHP (Language Count: 2)
Platform
License:BSD 3-Clause "New" or "Revised" License
所有者活动
Created At2016-06-17 05:39:12
Pushed At2018-10-08 12:26:27
Last Commit At2018-10-08 15:25:48
Release Count13
Last Release Name0.3.3 (Posted on 2018-10-08 15:26:02)
First Release Name0.1 (Posted on 2016-07-02 02:00:07)
用户参与
Stargazers Count39
Watchers Count3
Fork Count11
Commits Count78
Has Issues Enabled
Issues Count12
Issue Open Count2
Pull Requests Count7
Pull Requests Open Count0
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private