egor260890 / yii2-feedback-module
yii2-feedback-module
Installs: 52
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 1
Open Issues: 0
Type:yii2-extension
Requires
- kartik-v/yii2-grid: @dev
- kartik-v/yii2-widget-datepicker: @dev
- yiisoft/yii2: ~2.0.0
This package is not auto-updated.
Last update: 2025-03-21 05:00:13 UTC
README
Модуль обратной связи
Установка
Выполнить команду
php composer.phar require --prefer-dist egor260890/yii2-feedback-module "*"
Или добавить в composer.json
.
"egor260890/yii2-feedback-module": "*"
И выполнить
composer update
Выполнить миграции
yii migrate --migrationPath=@egor260890/feedback/migrations/
Использование
Подключаем модуль просмотра сообщений:
'modules' => [
'feedback' => [
'class' => 'egor260890\feedback\Module',
],
],
На фронтенде:
'modules'=>[
'feedback-send' => [
'class' => 'egor260890\feedback\widgets\Module',
],
],
Для вывода формы обратной связи:
<?=\egor260890\feedback\widgets\FeedbackForm::widget([ 'id'=>'feed', 'template'=>'{name}{tel}{email}{company_name}{message}{button}', 'rules'=>function(){ return [ [['tel'], 'required','message'=>'custom message'] //можно задать правила валидации ]; }, 'fieldsConfig'=>[ //настройка полей 'name'=>[ 'template'=>'{input}', 'placeholder'=>'please' ], 'tel'=>[ 'label'=>'custom label' ], 'button'=>[ 'label'=>'custom button name', 'class'=>'btn btn-warning' ] ], 'formConfig'=>[ 'enableAjaxValidation' => true, 'enableClientValidation' => true, ] ])?>
Отслеживание события отправки
Создаем слушатель
class Observer implements FeedbackObserverInterface{
}
Подключаем его в настройках модуля
'modules'=>[
'feedback-send' => [
'class' => 'egor260890\feedback\widgets\Module',
'observers'=>[
\mypath\Observer:class,
\mypath\Observer2:class
]
//либо
'observers'=>\mypath\Observer:class
//либо
'observers'=>function(){
return new Observer();
}
],
],