kriptograf/yii2-wishlist

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

Installs: 49

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 5

Type:yii2-extension

dev-master / 0.1.x-dev 2017-09-23 18:03 UTC

This package is auto-updated.

Last update: 2024-04-29 03:41:17 UTC


README

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

Установка

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

composer require kriptograf/yii2-wishlist "*"

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

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

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

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

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

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

    'modules' => [
        'wishlist' => [
            'class' => 'kriptograf\wishlist\Module',
            'dbDateExpired' => 'CURDATE() + INTERVAL 7 DAY', //дата истечения срока действия избранного в БД
            'cokieDateExpired' => time() + 86400 * 365, //Время жизни куки с токеном
        ],
        //...
    ],

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

Компоненты

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

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

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

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

Виджеты

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

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

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

<?php /* Выведет кнопку "добавить в избранное" с пользовательскими параметрами */ ?>
<?= WishlistButton::widget([
	'model' => $model, // модель для добавления
	'anchorActive' => 'В избранном', // свой текст активной кнопки
	'anchorUnactive' => 'В избранное', // свой текст неактивной кнопки
  'anchorTitleActive' => 'В избранном',//Свой текст подсказки активной кнопки
  'anchorTitleUnactive' => 'В избранное',//свой текст подсказки неактивной кнопки
	'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; /* цвет сердечка */
}