#php #laravel #user-interface #laravel-5.8
#php #laravel #пользовательский интерфейс #laravel-5.8
Вопрос:
Я обновил свой проект Laravel с 5.6 до 5.8 (в моем локальном перед первым развертыванием в live).
Обе версии Laravel 5.8.5 установлены с одним и тем же composer.json
На моем локальном сервере страницы ошибок (404, 503) являются иллюстрированными:
vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/illustrated-layout.blade.php
однако на действующем сервере
vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/minimal.blade.php
Что является причиной этого? Я хочу, чтобы в прямом эфире показывались и иллюстрированные страницы с красивой кнопкой возврата.
Пробовал эти, но безуспешно: (
php artisan config:clear
php artisan cache:clear
composer dump-autoload
php artisan view:clear
php artisan route:clear
Комментарии:
1. Вы запускали
composer update
на локальном, фиксировали новоеcomposer.lock
и запускалиcomposer install
в режиме реального времени?2. да, я обновил проект на своем локальном сервере перед первым развертыванием в live
3. Просто чтобы уточнить, вы запускали composer install на своем рабочем сервере после того, как был установлен новый composer.** блокировка ** была зафиксирована? Я просто хочу исключить простую ошибку
4. да — если я попробую
php artisan --v
, он скажет мне, что это 5.8.5 как для live, так и для local5. Можете ли вы включить свой
resources/views/errors/404.blade.php
?
Ответ №1:
Возможно, поздно, но вы также могли бы повторно опубликовать файлы из версии 5.8, не копируя их из версии 5.7 или не создавая новые:
php artisan vendor:publish --tag=laravel-errors
Все шаблоны блейда должны быть снова доступны в разделе просмотры / ошибки.
В представлениях, которые мне просто пришлось изменить
@extends('errors::minimal')
в
@extends('errors::illustrated-layout')
и добавить
@section('image')
<div style="background-image: url({{ asset('/svg/403.svg') }});" class="absolute pin bg-cover bg-no-repeat md:bg-left lg:bg-center">
</div>
@endsection
Комментарии:
1. Вы можете получить svg-файлы отсюда: github.com/laravel/laravel/tree/5.7/public/svg
2. это должно было быть принятым ответом
Ответ №2:
Похоже, что представление ошибки 404 по умолчанию в vendor/
изменено в Laravel 5.8 с иллюстрированного макета на минимальный макет, возможно, чтобы иметь менее самоуверенное значение по умолчанию.
Я рекомендую создать свой собственный вид в разделе resources/views/errors/404.blade.php
, если вы хотите вернуть предыдущий вид. Вы можете скопировать иллюстрированный вид непосредственно из версии 5.7, если это то, что вы хотели отобразить: https://github.com/laravel/framework/blob/5.7/src/Illuminate/Foundation/Exceptions/views/404.blade.php
Иллюстрированные макеты по-прежнему доступны, просто они больше не используются по умолчанию.
Копирование старого представления по сути такое же, как запуск php artisan vendor:publish --tag=laravel-errors
и редактирование 5 строк, как отметил @Constantin, но поскольку в оригинале для начала было всего 8 строк кода, на самом деле не имеет значения, какой метод вы выбрали. Основная идея та же: явно определите свой вид в resources/
вместо того, чтобы возвращаться к vendor/
значениям по умолчанию, предоставляемым фреймворком (которые могут измениться).
Комментарии:
1. Вы знаете, почему изменение было зафиксировано?
2. @ZaimanNoris Я не знаю причины, но я предполагаю, что они пытаются исключить выбор дизайна и стиля из настроек по умолчанию для фреймворка.