Почему не открывается страница?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Kazzi
Сообщения: 40
Зарегистрирован: 2020.05.05, 19:23

Почему не открывается страница?

Сообщение Kazzi »

Здравствуйте.
На локальном сервере (Open Server) все прекрасно открывается, однако когда перенес сайт на хост, пишет, что вьюхи нет( Естественно она есть( Что это может быть?

Ошибка:
View not Found – yii\base\ViewNotFoundException
The view file does not exist: /home/host1784331/host1784331.hostland.pro/htdocs/www/cms/views/cart/index.php

Аватара пользователя
Dominus
Сообщения: 840
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Почему не открывается страница?

Сообщение Dominus »

Я подозреваю что вы не учитываете:

Unix системы требовательны к регистру и многому еще, что windows считает нормальным)
смотрите пути, слэши в windows \ в unix / и тп.

Совет:
Используйте хелперы yii для составления путей и роутов, они автоматом все делают для всех систем)

Ссылка:
https://www.yiiframework.com/search?language=ru&version=2.0&type=guide&q=Url+Manager
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!

Kazzi
Сообщения: 40
Зарегистрирован: 2020.05.05, 19:23

Re: Почему не открывается страница?

Сообщение Kazzi »

Dominus писал(а):
2020.06.29, 01:08
Я подозреваю что вы не учитываете:

Unix системы требовательны к регистру и многому еще, что windows считает нормальным)
смотрите пути, слэши в windows \ в unix / и тп.

Совет:
Используйте хелперы yii для составления путей и роутов, они автоматом все делают для всех систем)

Ссылка:
https://www.yiiframework.com/search?language=ru&version=2.0&type=guide&q=Url+Manager
Ссылка на эту страницу находится в виджете. Все остальные ссылки в нем работают.

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

<?php
    NavBar::begin([
        'options' => [
            'class' => 'main-menu navbar-expand-lg navbar-light bg-transporant',
        ],
    ]);
    echo Nav::widget([
        'options' => ['class' => 'navbar-nav navbar-right'],
        'items' => [
            ['label' => 'Home', 'url' => ['/site/index']],
            ['label' => 'Store', 'url' => ['/site/store']],
            ['label' => 'Commissions', 'url' => ['/site/commissions']],
            ['label' => 'Gallery', 'url' => ['/site/gallery']],
            ['label' => 'About', 'url' => ['/site/about']],
            ['label' => 'Contact', 'url' => ['/site/contact']],
            (Yii::$app->user->identity->role === 'admin') ? (
                //['label' => 'Login', 'url' => ['/site/login']]
                ['label' => 'ADM', 'url' => ['/admin']]
            ) : (
                ['label' => 'Cart', 'url' => ['/cart/index']]
            )
        ],
    ]);
    NavBar::end();
    ?>
Регистр везде правильный. Это первое, что я проверил. Хотя таких косяков я не допускаю обычно. :shock:

Аватара пользователя
Dominus
Сообщения: 840
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Почему не открывается страница?

Сообщение Dominus »

Тут правильно, а в правилах urlManager?
хотя это на рендер не влияет, только на роутинг, смотрите в контроллере, как рендерится view. Другие вьюшки рендерятся нормально?
Последний раз редактировалось Dominus 2020.06.29, 01:45, всего редактировалось 2 раза.
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!

Kazzi
Сообщения: 40
Зарегистрирован: 2020.05.05, 19:23

Re: Почему не открывается страница?

Сообщение Kazzi »

Dominus писал(а):
2020.06.29, 01:39
Тут правильно, а в правилах urlMsnager?
Поясните пожалуйста.

Аватара пользователя
Dominus
Сообщения: 840
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Почему не открывается страница?

Сообщение Dominus »

Kazzi писал(а):
2020.06.29, 01:41
Поясните пожалуйста.
поправил
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!

Kazzi
Сообщения: 40
Зарегистрирован: 2020.05.05, 19:23

Re: Почему не открывается страница?

Сообщение Kazzi »

Dominus писал(а):
2020.06.29, 01:39
Тут правильно, а в правилах urlMsnager?
хотя это на рендер не влияет, только на роутинг, смотрите в контроллере, как рендерится view. Другие вьюшки рендерятся нормально?
Да. Полностью. А с этим проблема. Контроллер лежит в общей папке контроллеров, с контроллером сайта, а не в модулях. Хотя те, что в модулях лежат, тоже работают правильно.

Аватара пользователя
Dominus
Сообщения: 840
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Почему не открывается страница?

Сообщение Dominus »

То есть на Windows системе эта же конфигурация работает норм, а на linux не хочет
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!

Kazzi
Сообщения: 40
Зарегистрирован: 2020.05.05, 19:23

Re: Почему не открывается страница?

Сообщение Kazzi »

Dominus писал(а):
2020.06.29, 01:51
То есть на Windows системе эта же конфигурация работает норм, а на linux не хочет
Не совсем. И на вин и на юниксе сайт работает, только одна вьюха не грузится. Вот эта конкретно. У нее отдельный контроллер, который в общей папке с контроллером остальных страниц. Вот акшон этой вьюхи:

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

public function actionIndex()
    {
        $session = Yii::$app->session;
        $session->open();
        $order = new Orders();
        $user = User::findOne(Yii::$app->user->getId());
        if($order->load(Yii::$app->request->post()))
        {
            $order->qty = $session['cart.qty'];
            $order->sum = $session['cart.sum'];
            $order->user_id = Yii::$app->user->getId();
            if($order->save())
            {
                $this->saveOrderItems($session['cart'], $order->id);
                Yii::$app->session->setFlash('success', 'Ваш заказ принят. Мы вскоре свяжемся с вами.');
                $this->sendOrderEmailToUser('order', $session, $user);
                $this->sendOrderEmailToAdmin('admin-order', $session, $order);
                $session->remove('cart');
                $session->remove('cart.qty');
                $session->remove('cart.sum');
                return $this->refresh();
            }else{
                Yii::$app->session->setFlash('error', 'Ошибка оформления заказа.');
            }
        }
        return $this->render('index', compact('session', 'order'));
    }

Аватара пользователя
Dominus
Сообщения: 840
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Почему не открывается страница?

Сообщение Dominus »

Ну так может в правилах роутинга не указано?
Если все ссылки работают, согласно правилам роутинга указанного правилам в urlManager, может вы правила для нового роута не указали?
Последний раз редактировалось Dominus 2020.06.29, 01:59, всего редактировалось 1 раз.
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!

Kazzi
Сообщения: 40
Зарегистрирован: 2020.05.05, 19:23

Re: Почему не открывается страница?

Сообщение Kazzi »

Dominus писал(а):
2020.06.29, 01:56
Ну так может в правилах роутинга не указано?
Я еще не прописывал urlManager. Все по стандарту :shock: Все работало. То есть стоит прописать?

Аватара пользователя
Dominus
Сообщения: 840
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Почему не открывается страница?

Сообщение Dominus »

обновил
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!

Kazzi
Сообщения: 40
Зарегистрирован: 2020.05.05, 19:23

Re: Почему не открывается страница?

Сообщение Kazzi »

Dominus писал(а):
2020.06.29, 01:56
Ну так может в правилах роутинга не указано?
Если все ссылки работают, согласно правилам роутинга указанного правилам в urlManager, может вы правила для нового роута не указали?
У меня вообще нет urlManager в конфиге, говорю же. Я еще не прописывал ЧПУ. Как-то до этого все и без них работало Оо

Аватара пользователя
Dominus
Сообщения: 840
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Почему не открывается страница?

Сообщение Dominus »

Kazzi писал(а):
2020.06.29, 01:58
Dominus писал(а):
2020.06.29, 01:56
Ну так может в правилах роутинга не указано?
Я еще не прописывал urlManager. Все по стандарту :shock: Все работало. То есть стоит прописать?
Конечно, если добавляете новый контроллер или в существующий, экшен, нужно прописывать для него правила)
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!

Аватара пользователя
Dominus
Сообщения: 840
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Почему не открывается страница?

Сообщение Dominus »

Эммм... Мало информации для решения вашей проблемы) По словам только годать)
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!

Аватара пользователя
Dominus
Сообщения: 840
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Почему не открывается страница?

Сообщение Dominus »

Как вы строите адрес

Конфиг urlManager

покажите контроллер который должен рендерить /cms/views/cart/index.php

как минимум
Последний раз редактировалось Dominus 2020.06.29, 02:13, всего редактировалось 1 раз.
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!

Kazzi
Сообщения: 40
Зарегистрирован: 2020.05.05, 19:23

Re: Почему не открывается страница?

Сообщение Kazzi »

Dominus писал(а):
2020.06.29, 02:05
Конечно, если добавляете новый контроллер или в существующий, экшен, нужно прописывать для него правила)
То есть придется сейчас прописывать urlManager. Я думал просто создаешь класс, прописываешь неймспэйс, и все. На локалке все работало. У меня просто сейчас urlManager вообще нет.

Kazzi
Сообщения: 40
Зарегистрирован: 2020.05.05, 19:23

Re: Почему не открывается страница?

Сообщение Kazzi »

Dominus писал(а):
2020.06.29, 02:08
Эммм... Мало информации для решения вашей проблемы) По словам только годать)
Что еще необходимо?

Аватара пользователя
Dominus
Сообщения: 840
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Почему не открывается страница?

Сообщение Dominus »

Ничего делать ненадо, просто предоставьте данные которые в посте выше, должно работать и на линукс, просто понять почему не работает в линукс. Я до недавнего времени разработку вел тоже на OpenServer на windows проблем не было. Сейчас на линуксе веду разработку, так как более приближена к реалиям прода)
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!

Kazzi
Сообщения: 40
Зарегистрирован: 2020.05.05, 19:23

Re: Почему не открывается страница?

Сообщение Kazzi »

Вот конфиг. Как я уже говорил, urlManager я еще не прописывал толком. Он закомментирован.

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

<?php

$params = require __DIR__ . '/params.php';
$db = require __DIR__ . '/db.php';

$config = [
    'id' => 'basic',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log'],
    'aliases' => [
        '@bower' => '@vendor/bower-asset',
        '@npm'   => '@vendor/npm-asset',
    ],
    'modules' => [
        'admin' => [
            'class' => 'app\modules\admin\Module',
            'layout' => 'admin',
        ],
    ],
    'components' => [
        'request' => [
            // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
            'cookieValidationKey' => 'umBzZRd4Pznw8foqkljkgn4lm9y3YqqV',
        ],
        'cache' => [
            'class' => 'yii\caching\FileCache',
        ],
        'user' => [
            'identityClass' => 'app\models\User',
            'enableAutoLogin' => true,
        ],
        'errorHandler' => [
            'errorAction' => 'site/error',
        ],
        /*'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'enableStrictParsing' => false,
            'rules' => [
                '/' => 'site/index',
                'store' => 'site/store',
                'commissions' => 'site/commissions',
                'gallery' => 'site/gallery',
                'about' => 'site/about',
                'contact' => 'site/contact',
                'cart' => 'cart/index',
                'singlproduct/<id:\d+>' => 'site/singlproduct',
            ],
        ],*/
        'mailer' => [
            'class' => 'yii\swiftmailer\Mailer',
            // send all mails to a file by default. You have to set
            // 'useFileTransport' to false and configure a transport
            // for the mailer to send real emails.
            'useFileTransport' => false,
            'transport' => [
                'class' => 'Swift_SmtpTransport',
                'host' => 'smtp.gmail.com',
                'username' => 'wolfberrycrafts.store@gmail.com',
                'password' => '****',
                'port' => '587',
                'encryption' => 'tls',
            ],
        ],
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
        'db' => $db,
       
    ],
    'params' => $params,
];

if (YII_ENV_DEV) {
    // configuration adjustments for 'dev' environment
    $config['bootstrap'][] = 'debug';
    $config['modules']['debug'] = [
        'class' => 'yii\debug\Module',
        // uncomment the following to add your IP if you are not connecting from localhost.
        //'allowedIPs' => ['127.0.0.1', '::1'],
    ];

    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = [
        'class' => 'yii\gii\Module',
        // uncomment the following to add your IP if you are not connecting from localhost.
        //'allowedIPs' => ['127.0.0.1', '::1'],
    ];
}

return $config;
Акшон в контроллере я уже показал. namespace в нем прописан верно. Там не промажешь :D , так что я понять не могу, в чем может быть проблема( Скорее всего надо раскомменторовать и прописать нормально юрлМенеджер.

Ответить