Ответы пользователя по тегу Yii
  • Как избавиться от дерганой загрузки в yii2?

    @MikUrrey
    Попытка обратиться к инлайновым стилям - это что за зверь вообще такой?) Если инлайновых стилей нет, то и попыток никаких там нет, либо это какая-то путаница в терминологии.
    Я бы сделал инлайновый стиль, минимально необходимый чтобы вывести поверх загружающейся страницы какой-нибудь анимированный лоадер (который разместил бы первым же тегом после ) и убирающий скролл страницы. А в конце файла CSS добавил бы правила, скрывающие лоадер и возвращающие скроллбар. Этакая "шторка", которая скроет "сарай", и поднимется, когда появится "дворец"
    <head>
    <!--  ...  -->
    <style>
    .loader {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: url(здесь красивый сплэш);
      opacity: 1;
      will-change: opacity;
      transition: opacity 1s;
    }
    html, body {
      overflow: hidden;
    }
    </style>
    <link type="style/css" rel="style.css" />
    </head>
    <body>
    <div class="loader"></div>
    <!--  ...  -->
    </body>


    style.css:
    /*
    ...
    ...
    ...
    */
    .loader {
      opacity: 0;
    }
    html, body {
      overflow: auto;
    }
    Ответ написан
  • Как открыть представление модуля Yii в браузере?

    @MikUrrey
    По умолчанию - /имя модуля (это папка, где он лежит)/имя контроллера (без Controller)/имя экшна (без action)
    Ответ написан
    Комментировать
  • Правильная url ссылка?

    @MikUrrey
    Думаю, ошибка в том, что вы используете current внутри to.
    Попробуйте какой-нибудь из этих примеров, и будет нужный результат:
    Url::current(['lang_admin' => 'ru']);
    Url::to(['lang_admin' => 'ru']);
    Ответ написан
    Комментировать
  • Как в REST API на Yii2 правильно настроить CORS?

    @MikUrrey Автор вопроса
    По сложившейся здесь традиции, сам же на свой вопрос и отвечаю.
    Чтобы CORS отработал нормально, нужно
    1) corsFilter в behaviors должен быть на самом верху;
    2) убедитесь что в нем разрешено всё, что вам необходимо, в т. ч. заголовки, которые вы шлёте серверу;
    3) в actions нужно добавить:
    'options' => [
      'class' => \yii\rest\OptionsAction::class,
    ],

    4) checkAccess в экшне options не должен фигурировать, этот эндпойнт должен быть доступен всегда;
    5) если в конфигурации задается специальный маршрут посредством UrlRule с verb'ами, то в verb нужно обязательно добавить OPTIONS.
    Ответ написан
    Комментировать
  • Как обработать форму для шаблона страницы (layouts/main.php)?

    @MikUrrey
    Если форма везде работает одинаково и не отправляет информацию, зависящую от текущего контента страницы, то лучше не упоминать ее в контроллерах.
    А отправку данных выполнять либо (элегантно) AJAXом, либо (хардкорно) внутри формы передавать текущий URL и возвращать на него же после обработки формы. То есть, контроллер для неё написать всё же надо, но один и независимый.
    Ответ написан
    Комментировать