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

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
PhantomSoft
Сообщения: 10
Зарегистрирован: 2015.04.21, 13:07

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

Сообщение PhantomSoft » 2015.04.21, 13:33

Осваиваю 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 ошибку.
Полдня мучаюсь. В чём может быть ошибка?

arogachev
Сообщения: 52
Зарегистрирован: 2014.09.09, 14:32

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

Сообщение arogachev » 2015.04.21, 13:36

Url в меню - '/site/drivers', а с учетом добавленного action - "drv-list".
Либо сделайте так, чтобы соответствовало, либо покройте через url rules.
Мой профиль на Github

Alex8552
Сообщения: 36
Зарегистрирован: 2014.10.07, 15:13

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

Сообщение Alex8552 » 2015.04.21, 13:40

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

PhantomSoft
Сообщения: 10
Зарегистрирован: 2015.04.21, 13:07

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

Сообщение PhantomSoft » 2015.04.21, 14:05

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

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

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

Аватара пользователя
PaSiS
Сообщения: 88
Зарегистрирован: 2011.11.15, 18:07
Контактная информация:

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

Сообщение PaSiS » 2015.04.21, 14:34

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

Alex8552
Сообщения: 36
Зарегистрирован: 2014.10.07, 15:13

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

Сообщение Alex8552 » 2015.04.21, 14:56

напишите полный путь к файлу контроллера и вью,конфигурацию url managera

PhantomSoft
Сообщения: 10
Зарегистрирован: 2015.04.21, 13:07

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

Сообщение PhantomSoft » 2015.04.21, 15:20

Уже понял, почему так получилось: мне нужны были сайт в домене и сайт в субдомене (каждый использует свою БД), причём хотелось использовать только одну копию 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 (см. первый пост).
Как же правильно поступить?

PhantomSoft
Сообщения: 10
Зарегистрирован: 2015.04.21, 13:07

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

Сообщение PhantomSoft » 2015.04.21, 16:19

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

PhantomSoft
Сообщения: 10
Зарегистрирован: 2015.04.21, 13:07

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

Сообщение PhantomSoft » 2015.04.21, 16:23

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,
        ]
    ],
];
 
Вы это просили?

egozo
Сообщения: 3
Зарегистрирован: 2015.05.14, 01:01

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

Сообщение egozo » 2015.07.21, 11:26

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

Аватара пользователя
mihail_dev
Сообщения: 233
Зарегистрирован: 2013.07.17, 00:51
Откуда: Молдова
Контактная информация:

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

Сообщение mihail_dev » 2015.07.21, 21:28

выложи текущий контроллер и конфиг фаил также какая ссылка отображается на странице
Изображение

Ответить