Yii2: простой чат

yii2 простой чатРасширение 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. При его отсутствии, будет выведено изображение для аватара по-умолчанию.

1 thought on “Yii2: простой чат

  1. Ruslan

    Данное расширение можно только в админке использовать(backend)? В basic сборке оно у меня не работает

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *