Настройка Yii2mod/yii2-comments. Не могу попасть в раздел управления комментариями

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
kornell_RU
Сообщения: 12
Зарегистрирован: 2017.09.14, 22:37

Настройка Yii2mod/yii2-comments. Не могу попасть в раздел управления комментариями

Сообщение kornell_RU »

Привет всем, я новенький и с Yii2 сильно не знаком, так что сильно не ругайте за глупый вопрос.
Установил расширение Yii2mod/yii2-comments. Все настроил, комментарии отображаются и работают. Но не могу зайти в раздел управления комментариями. Так же стоит расширение yii2-user и настроены роли и разрешения (RBAC). В настройках расширения автор пишет что можно попасть в раздел управления комментариями по ссылке:

Код: Выделить всё

http://localhost/path/to/index.php?r=comments/index
И доступ открыт только для роли admin, а что бы переназначить роль, нужно в контроллере ManageController переназначить роль.
И первое что меня смутило, то что контроллер ManageController с репозитория и мой отличаются. точнее в моем не было некоторых строк. Вот это в контроллере на гитхабе:

Код: Выделить всё

    /**
     * @var array verb filter config
     */
    public $verbFilterConfig = [
        'class' => 'yii\filters\VerbFilter',
        'actions' => [
            'index' => ['get'],
            'update' => ['get', 'post'],
            'delete' => ['post'],
        ],
    ];
    /**
     * @var array access control config
     */
    public $accessControlConfig = [
        'class' => 'yii\filters\AccessControl',
        'rules' => [
            [
                'allow' => true,
                'roles' => ['admin'],
            ],
        ],
    ];
    /**
     * @inheritdoc
     */
    public function behaviors()
    {
        return [
            'verbs' => $this->verbFilterConfig,
            'access' => $this->accessControlConfig,
        ];
    }
А вот так было, у меня(было только поведение с фильтром):

Код: Выделить всё

    public function behaviors()
    {
        return [
            'verbs' => [
                'class' => VerbFilter::class,
                'actions' => [
                    'index' => ['get'],
                    'update' => ['get', 'post'],
                    'delete' => ['post'],
                ],
            ],
        ];
Все остальное одинаково. Пробовал AccessControl ставить в поведение и так же пробовал брать вариант с контроллера гитхаба.
Моя роль администратора administrator.
Пробовал так же создавать другие роли и разрешения и подставлять, без результатов.
Когда перехожу по ссылке, пишет что страница не найдена.
Экспериментировал с ссылкой по разному, отключал ЧПУ и пробовал сотни вариантов, пишет что страница не найдена, хотя должно писать что доступ не разрешен, если бы попал на правильный адрес. Так же кнопка удалить на комментариях не открылась мне, хотя должна открыться роли admin.
Подскажите, куда копать или что я уже натворил?
dmitxe
Сообщения: 1
Зарегистрирован: 2020.02.15, 10:25

Re: Настройка Yii2mod/yii2-comments. Не могу попасть в раздел управления комментариями

Сообщение dmitxe »

Тоже сейчас столкнулся с такой же ситуацией. Решение - в конфиге прописываем

Код: Выделить всё

    'modules' => [
        'comment' => [
            'class' => 'yii2mod\comments\Module',
            'controllerMap' => [
                'manage' => [
                    'class' => 'yii2mod\comments\controllers\ManageController',
                    'accessControlConfig' => [
                        'class' => 'yii\filters\AccessControl',
                        'rules' => [
                            [
                                'allow' => true,
                                'roles' => ['administrator'],
                            ],
                        ],
                    ],
                ],
             ],
        ],
   ]
Если стоит ЧПУ - то админка будет открываться по адресу comment/manage/index
При этом в vendor/yii2mod/yii2-comments/controllers/DefaultController.php жестко прописана роль 'admin' - т.е. из виджета нельзя будет быстро править и удалять, сначала надо перекрыть DefaultController.php.
Но и этого недостаточно. Во вью vendor/yii2mod/yii2-comments/widgets/views/_list.php стоит код

Код: Выделить всё

                <?php if (Yii::$app->getUser()->can('admin')) : ?>
                    <?php echo Html::a('<span class="glyphicon glyphicon-trash"></span> ' . Yii::t('yii2mod.comments', 'Delete'), '#', ['class' => 'delete-comment-btn', 'data' => ['action' => 'delete', 'url' => Url::to(['/comment/default/delete', 'id' => $model->id]), 'comment-id' => $model->id]]); ?>
                <?php endif; ?>
                <?php if (!Yii::$app->user->isGuest && ($model->level < $maxLevel || is_null($maxLevel))) : ?>
                    <?php echo Html::a("<span class='glyphicon glyphicon-share-alt'></span> " . Yii::t('yii2mod.comments', 'Reply'), '#', ['class' => 'reply-comment-btn', 'data' => ['action' => 'reply', 'comment-id' => $model->id]]); ?>
                <?php endif; ?>
- вью тоже надо перекрывать, только после этого заработает.
die1990
Сообщения: 15
Зарегистрирован: 2021.12.21, 20:18

Re: Настройка Yii2mod/yii2-comments. Не могу попасть в раздел управления комментариями

Сообщение die1990 »

не надо звиздеть, эта помойка не работает.. комментарии не добавляются
Ответить