Страница 1 из 1

Yii2 Недоступна новая страница

Добавлено: 2015.04.21, 13:33
PhantomSoft
Осваиваю Yii2.Advanced. Поставил, открыл, БД создал, юзера зарегил - всё нормально.
Потом решил добавить пункт меню.
Прописал в views\layouts\main.php новый пункт меню:

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

if (Yii::$app->user->isGuest) {
  $menuItems[] = ['label' => 'Вход', 'url' => ['/site/login']];
} else {
  $menuItems[] = ['label' => 'Новый пункт', 'url' => ['/site/drivers']];//Новый пункт меню для зарегистрированных пользователей
  $menuItems[] = [
    'label' => 'Выход (' . Yii::$app->user->identity->username . ')',
Создал views\site\drvlist.php (копия about.php)
В controllers\SiteController.php добавил новую функцию:

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

public function actionDrvlist()
{
  return $this->render('drvlist');
} 
При переходе на новый пункт получаю 404 ошибку.
Полдня мучаюсь. В чём может быть ошибка?

Re: Yii2 Недоступна новая страница

Добавлено: 2015.04.21, 13:36
arogachev
Url в меню - '/site/drivers', а с учетом добавленного action - "drv-list".
Либо сделайте так, чтобы соответствовало, либо покройте через url rules.

Re: Yii2 Недоступна новая страница

Добавлено: 2015.04.21, 13:40
Alex8552
Меняйте либо название экшена в контроллере на actionDrivers(), либо url меню на '/site/drvlist'

Re: Yii2 Недоступна новая страница

Добавлено: 2015.04.21, 14:05
PhantomSoft
:o Упс... ошибся при написании поста. Это я уже пробовал его менять на другой урл, думал, может drivers - какое-то зарезервированное слово.
До этого как раз и был урл drivers и метод actionDrivers() и файлик назывался drivers.php.
Сейчас заменил урл на

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

'url' => ['/site/drvlist']
, но ничего не изменилось. Проблема, по всей видимости, не в этом.
Может, где-то кеш какой-то влияет?

Re: Yii2 Недоступна новая страница

Добавлено: 2015.04.21, 14:34
PaSiS
PhantomSoft писал(а): Может, где-то кеш какой-то влияет?
Проверьте, включен ли OPcache, у меня с ним была подобная проблема.

Re: Yii2 Недоступна новая страница

Добавлено: 2015.04.21, 14:56
Alex8552
напишите полный путь к файлу контроллера и вью,конфигурацию url managera

Re: Yii2 Недоступна новая страница

Добавлено: 2015.04.21, 15:20
PhantomSoft
Уже понял, почему так получилось: мне нужны были сайт в домене и сайт в субдомене (каждый использует свою БД), причём хотелось использовать только одну копию yii2.
Я создал копию папки frontend и положил её рядышком с frontend под именем taxi.
В OpenServer-е прописал домен в frontend/web, а субдомен в taxi/web.
В конфиге (taxi\config\main-local.php) субдомена прописал параметры соединения с БД субдомена.
Всё заработало, но вот добавить новый пункт меню не могу.
Наверное, всё дело в namespace-ах, которыми напичканы php-файлы. Пробовал в taxi/*.php везде заменить frontend на taxi - вылазит

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

exception 'yii\base\InvalidRouteException' with message 'Unable to resolve the request "site/error".' 
А если не менять - то получаю ошибку 404 (см. первый пост).
Как же правильно поступить?

Re: Yii2 Недоступна новая страница

Добавлено: 2015.04.21, 16:19
PhantomSoft
Alex8552 писал(а):напишите полный путь к файлу контроллера и вью
Z:\domains\mysite.com\taxi\controllers\SiteController.php
Z:\domains\mysite.com\taxi\views\site\drvlist.php
Alex8552 писал(а):конфигурацию url managera
PhantomSoft писал(а):Осваиваю Yii2.Advanced.
Если подскажете, где её искать, то напишу.

Re: Yii2 Недоступна новая страница

Добавлено: 2015.04.21, 16:23
PhantomSoft
Alex8552 писал(а):конфигурацию url managera
В Z:\domains\mysite.com\common\config\main.php написано:

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

<?php
return [
    'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',
    'components' => [
        'cache' => [
            'class' => 'yii\caching\FileCache',
        ],
        'urlManager' => [
            'class' => 'yii\web\UrlManager',
            'enablePrettyUrl' => true,
            'showScriptName' => false,
        ]
    ],
];
 
Вы это просили?

Re: Yii2 Недоступна новая страница

Добавлено: 2015.07.21, 11:26
egozo
здрасьте
и что, на официальном форуме по yii никто не может ответить?
у меня похожий вопрос.
может кто поможет?

Re: Yii2 Недоступна новая страница

Добавлено: 2015.07.21, 21:28
mihail_dev
выложи текущий контроллер и конфиг фаил также какая ссылка отображается на странице