Расширение sintret/yii2-chat-adminlte позволяет быстро добавить в yii2 приложение простой чат.
Установка
Подключаем расширение yii2
Для установки расширения yii2-chat-adminlte используем composer — добавляем в composer.json строку «sintret/yii2-chat-adminlte»: «dev-master» и выполняем composer update.
Создаем базу данных чата
Любым удобным способом создаем таблицу chat в базе данных:
CREATE TABLE chat ( id INT(11) NOT NULL AUTO_INCREMENT, userId INT(11) DEFAULT NULL, message TEXT, updateDate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id) ) ENGINE=INNODB;
Использование yii2-chat-adminlte
В нужном представлении выводим виджет:
<?= \sintret\chat\ChatRoom::widget(['url'=> \yii\helpers\Url::to(['/chat/send-chat'])]); ?>;Для публикации сообщений, в соответствующем контроллере, например <strong>ChatController,</strong> создаем действие, например <strong>actionSendChat:</strong>public function actionSendChat() { $message = $_POST['message']; if ($message) { $model = new \sintret\chat\models\Chat; $model->message = $message; if ($model->save()) { echo \sintret\chat\ChatRoom::data(); } else { print_r($model->getErrors()); exit(0); } } }Желательно наличие атрибута avatarImage, хранящего путь к изображению для аватара пользователя, в модели User. При его отсутствии, будет выведено изображение для аватара по-умолчанию.
Данное расширение можно только в админке использовать(backend)? В basic сборке оно у меня не работает