Как сделать универсальный независимый модуль в yii2?

Собственно, есть несколько модулей:
- статьи
- отзывы
- галерея
...

Хотелось бы создать общий модуль комментариев, который можно было бы использовать к любому модулю.
Для этого в таблице комментариев есть 2 поля:
post-id - идентификатор записи комментария
type - тип комментария (например комментарий относится к модулю articles)

При разработке у меня возникла 1 проблема.
Вывожу комментарии я с помощью виджета, там же список комментариев и форма/формы для добавления комментариев.

К примеру, будем работать с модулем Статьи
<?php   
                echo frontend\modules\comments\widgets\CommentsList::widget([
                    'find'  => ['post_id'=>$article->article_id, 'type'=>'article'],
                ]);
            ?>

Комментарии показана на страницу, все хорошо. НО теперь когда мне нужно написать комментарий и данные нового комментария попадают в экшин контроллера комментарии я теряю связь, к какому модулю был отправлен комметнарий.

Ранее я думал сделать как-то так
<?php   
                echo frontend\modules\comments\widgets\CommentsList::widget([
                    'find'  => ['post_id'=>$article->article_id, 'type'=>'article'],
                    'model' => 'common\modules\articles\models\Articles'
                ]);
            ?>


То есть тянуть за собой класс модуля Статьи также само я тяну его в форму и передаю как обычную пост строку и работаю с ней. Но походу это не лучший вариант. Подскажите, пожалуйста, как можно реализовать мою задачу правильно?
  • Вопрос задан
  • 3770 просмотров
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
если у вас есть таблица - у вас уже есть жесткая привязка к модулям. Хотите сделать универсальным - сделайте абстрактную модель комментария которую нужно имплементить (например tableName или что там сейчас, и связи добавить).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы