Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 24.06.2015 21:59:58

Подключение стилей

Доброго времени суток!
С фреймворком начал разбираться позавчера.

Пытаюсь подключить css следующим образом:

{{ HTML::style('assets/css/test.css') }}

Выдает ошибку "Class 'HTML' not found".
Пытался исправить это по инструкции,
ничего не получилось, возможно, что-то сделал не так.

Кто бы мог подсказать, что можно сделать?

С уважением.

Не в сети

#2 24.06.2015 22:18:29

Re: Подключение стилей

Полистал форум, реализовал вот так:

<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/test.css') }}" />

Все работает.

Тогда вопрос, как именно принято подключать стили, скрипты и т. п. в laravel?

Не в сети

#3 25.06.2015 12:06:40

Re: Подключение стилей

<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/test.css') }}" />

Так же и скрипты

Не в сети

#4 25.06.2015 15:50:23

Re: Подключение стилей

Сам недавно начал изучать фреймворк, и для того чтобы вставить такой код {{ HTML::style('assets/css/test.css') }} нужно подключить хелпер HTML:
Установка хелперов html и form
в composer.json в раздел require вставляем:
    "laravelcollective/html": "~5.0"
После чего в консоли пишем php composer.phar update

После этого в config/app.php  в разделе providers дописываем Collective\Html\HtmlServiceProvider::class
И в разделе aliases прописываем
     'Form'      => Collective\Html\FormFacade::class,
     'Html'      => Collective\Html\HtmlFacade::class,

Не в сети

#5 25.06.2015 15:51:54

Re: Подключение стилей

А и надо приписать не {{ }} а {!! !!} а то теги заменятся на спецсимволы

Не в сети

#6 25.06.2015 16:05:30

Re: Подключение стилей

Не изобретайте велосипед
Ещё ни один проект не вышел на достаточную динамичность переподключаемых ассетов в зависимости от страницы.
Ни одна подобная поделка мной в Production не замечена, и есть о чём задуматься.
Поэтому используйте 1 из двух вариантов:
1) всегда все ссылки и редиректы прогоняйте через https -- URL::secure('/assets/bootstrap/css/bootstrap.min.css')
потому что в скором времени даже мозила откажется от не секьюрного протокола передачи данных.
http://habrahabr.ru/post/252507/
2) альтернативный способ для работы (ТОЛЬКО) с ассетами -- писать абсолютные пути от DOCUMENT_ROOT хоста -- '/assets/bootstrap/css/bootstrap.min.css'. этот метод обеспечит динамичность выбора протокола (он не указан в ссылке) средствами браузера.
То есть если вы открываете http, то бессмысленно писать ассеты в https и наоборот - огребёте варнинги и ошибки.

идельно описано по ссылке выше - пишите по варинту 2 и не придумывайте велосипед. лучше всё равно не придумаете.

Не в сети

#7 24.03.2016 18:56:06

Re: Подключение стилей

пытаюсь подключить css но не могу. судя по всему оно не там ищет.
поместил файл в папку resources/assets/css/main.css
подключил при помощи кода: <link href="{{ URL::asset('resources/assets/css/main.css') }}" rel="stylesheet" type="text/css" >
получил на сайте вот это: http://prntscr.com/ajfdrr
то есть в теории оно подключило как я хотел, но файл оно там не нашло и пишет ошибку, что в роуте нету такого пути.
как подключить css?
пытался многими способами и http и https всегда одно и тоже. вместо стилей страница ошибки.

Изменено Nifler (24.03.2016 19:00:16)

Не в сети

#8 24.03.2016 20:41:04

TrueKanonir
Откуда: Ташкент
Сообщений: 221

Re: Подключение стилей

Nifler пишет:

пытаюсь подключить css но не могу. судя по всему оно не там ищет.
поместил файл в папку resources/assets/css/main.css
подключил при помощи кода: <link href="{{ URL::asset('resources/assets/css/main.css') }}" rel="stylesheet" type="text/css" >
получил на сайте вот это: http://prntscr.com/ajfdrr
то есть в теории оно подключило как я хотел, но файл оно там не нашло и пишет ошибку, что в роуте нету такого пути.
как подключить css?
пытался многими способами и http и https всегда одно и тоже. вместо стилей страница ошибки.

Поместить скрипты и стили в директорию "public"

Не в сети

#9 25.03.2016 13:25:28

Re: Подключение стилей

пробовал. вот еще раз сделал в public - не помогло: NotFoundHttpException in RouteCollection.php line 161:
может гдето есть исключение для этой папки, а я его случайно удалил? как работает система роутов и как мне добавить файл в исключение? у меня не apache так что htaccess нету. сервер nginx+php-fpm.

Не в сети

#10 25.03.2016 13:28:41

Re: Подключение стилей

все. понял. черт, тупил то как. public прописан как корень сайта, а я отталкивался от того что это папка в корне а не сам корень. все теперь работает.

Не в сети

#11 05.10.2017 17:25:26

Re: Подключение стилей

Доброго времени суток, уважаемые форумчане!
Только начал свое знакомство с Laravel, помогите решить проблему с подключением стилей:
OpenServer nginx 1.8
PHP 7.1

Для корректной работы роута в настройках сервера добавлено:

location / {
  try_files $uri $uri/ /index.php?$query_string;
}

Собственно на этом этапе все сломалось:
Маршрутизация корректно за работала, а стили отлетели.

Стили подключены следующем образом:
<link href="{{asset('css/app.css')}}" rel="stylesheet" type="text/css">
Результат в браузере:
<link href="http://****.loc/css/app.css" rel="stylesheet" type="text/css">
При переходе по ссылке:
Sorry, the page you are looking for could not be found.

Я так понял, что это работа REST маршрутизатора, вопрос как его победить, чтобы и маршрутизация сохранилась и стили, скрипты, картинки подключались?

ВОПРОС НЕ АКТУАЛЕН - Лечится настройками сервера.

Изменено JohnnyVoodoo (05.10.2017 18:31:32)

Не в сети

Подвал раздела