halumein/yii2-wishlist

Кнопка добавить в избранное

Installs: 205

Dependents: 0

Suggesters: 0

Security: 0

Stars: 7

Watchers: 3

Forks: 5

Open Issues: 0

Type:yii2-extension

dev-master 2017-07-27 15:58 UTC

This package is not auto-updated.

Last update: 2024-05-11 17:23:28 UTC


README

Модуль избранного для Yii2 фреймворка. ДЛЯ АВТОРИЗОВАННЫХ ПОЛЬЗОВАТЕЛЕЙ

Установка

Выполнить команду

composer require halumein/yii2-wishlist "*"

Либо в composer.json строку:

"halumein/yii2-wishlist": "dev-master",

Далее, мигрируем базу:

php yii migrate --migrationPath=vendor/halumein/yii2-wishlist/migrations

Подключение и настройка

В конфигурационный файл приложения добавить модуль и компонент wishlist

    'modules' => [
        'wishlist' => [
            'class' => 'halumein\wishlist\Module',
        ],
        //...
    ],

    'components' => [
        'wishlist' => [
            'class' => 'halumein\wishlist\Wishlist'
        ],
        //...
    ],

Компоненты

Получить вишлист ТЕКУЩЕГО пользователя (возвращает массив моделей добавленных в вишлист объектов):

\Yii::$app->wishlist->getUserWishList()

Получить количество добавленных в вишлист объектов для текущего пользователя

\Yii::$app->wishlist->getUserWishlistAmount()

Виджеты

Кнопка добавить/убрать объект в избранное.

<?php
use halumein\wishlist\widgets\WishlistButton;
?>

<?php /* Выведет кнопку "добавить в избранное" */ ?>
<?= WishlistButton::widget([
	'model' => $model
]) ?>

<?php /* Выведет кнопку "добавить в избранное" с пользовательскими параметрами */ ?>
<?= WishlistButton::widget([
	'model' => $model, // модель для добавления
	'anchorActive' => 'В избранном', // свой текст активной кнопки
	'anchorUnactive' => 'В избранное', // свой текст неактивной кнопки
	'htmlTag' => 'a', // тэг
	'cssClass' => 'custom_class', // свой класс
    'cssClassInList' => 'custom_class' // свой класс для добавленного объекта
]) ?>

Дэфолтные css-стили

.hal-wishlist-button {
    font-weight: 700;
}

.hal-wishlist-button:before {
    content: "\f08a";
    font: 400 15px/31px "FontAwesome";
    color: white;
    background: #929292; /* цвет сердечка */
    width: 30px;
    text-align: center;
    display: inline-block;
    height: 30px;
    margin: 0 6px 0 0;
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
    border-radius: 50px;
}

.hal-wishlist-button:hover {
    cursor: pointer;
}

.in-list:before {
    background: #CC63B0; /* цвет сердечка */
}