kriptograf / yii2-wishlist
Кнопка добавить в избранное
Installs: 49
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 5
Type:yii2-extension
Requires
- php: >=5.4.0
- yiisoft/yii2: *
- yiisoft/yii2-bootstrap: *
This package is auto-updated.
Last update: 2025-03-01 00:22:49 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; /* цвет сердечка */ }