Właśnie zacząłem uczyć się Laravel i potrafię opanować podstawy kontrolera i routingu.
Mój system operacyjny to Mac OS X Lion i znajduje się na serwerze MAMP.
Mój kod z route.php:
Route::get('/', function() {
return View::make('home.index');
});
Route::get('businesses', function() {
return View::make('businesses.index');
});
Route::get('testing', function() {
return View::make('testing.index');
});
Route::get('hello', function() {
return "<h3>Hello world!</H3>";
});
To działa, widoki wyświetlają się idealnie, '' jednak '' to, co chcę zrobić, to dołączyć CSS do widoków, próbowałem dodać link do arkusza stylów w katalogu, ale strona wyświetlała go jako domyślną czcionkę przeglądarki nawet chociaż css był w HTML!
To jest index.php firm w folderze widoków:
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
<p>Business is a varied term. My content here.
Próbowałem użyć silnika szablonów Blade w moim innym folderze widoków (testowanie), aby wyświetlić CSS, ale znowu CSS nie wyświetlał się, mimo że był w folderze testowym!
Jak mogę przezwyciężyć ten problem i polepszyć się - kiedy powoli uczę się tej struktury.
php
frameworks
laravel
avenas8808
źródło
źródło
{{ URL::asset('css/css.css') }}
Odpowiedzi:
Umieść swoje zasoby w folderze publicznym
Nazwali to za pomocą Laravel
źródło
Umieść swoje zasoby w folderze publicznym
A potem nazwał to za pomocą Laravel
(LUB)
źródło
{{ URL::asset('js/scrollTo.js'); }}
? czy możesz podać przykład?Twój plik css należy do folderu publicznego lub jego podfolderu.
np. jeśli umieścisz swój css
użyłbyś
W twoim widoku ostrza ...
Możesz też użyć klasy aktywów http://laravel.com/docs/views/assets ...
źródło
Możesz także napisać prosty tag linku tak jak zwykle, a następnie użyć attr href:
oczywiście musisz umieścić swój plik css w folderze public / css
źródło
Możemy to zrobić w następujący sposób.
Przeszuka plik stylu w folderze publicznym Laravel, a następnie wyrenderuje go.
źródło
http
<link href = "{{{asset ('/ css / style.css')}}}" rel = "stylesheet">, ale jeśli używaszhttps
wtedy żądanie zostanie zablokowane i pojawi się błąd dotyczący mieszanej zawartości. Aby użyć go przez https, musisz użyć nasecure_asset
przykład <link href = "{{{secure_asset ('/ css / style.css')}}}" rel = "stylesheet" > laravel.com/docs/5.1/helpers#method-secure-assetJak wspomniał Ahmad Sharif, możesz połączyć arkusz stylów
http
ale jeśli używasz
https
następnie wniosek zostanie zablokowane, a mieszany błąd zawartość przyjdzie, aby używać go na https stosowaniesecure_asset
jakhttps://laravel.com/docs/5.1/helpers#method-secure-asset
źródło
public/css
lubresources/assets/css
Od Laravel 5
HTML
klasa nie jest już uwzględniana domyślnie.Możesz skorzystać z poniższego wiersza, aby dołączyć pliki CSS lub JS:
źródło
Aktualizacja dla laravel 5.4 ----
Wszystkie odpowiedzi wykorzystywały klasę HTML dla laravel, ale wydaje mi się, że w laravel 5.4 została zdekapitowana, więc umieść swoje pliki css i js w public-> css / js I odwołaj się do nich w html za pomocą
źródło
To nie jest możliwe brachu, Laravel zakłada, że wszystko jest w folderze publicznym.
Więc moja sugestia jest taka:
Lub
Jeśli naprawdę nalegasz na umieszczenie css w folderze widoków, możesz spróbować utworzyć łącze Symlink (jesteś mac, więc jest w porządku, ale w systemie Windows będzie to działać tylko dla Vista, Server 2008 lub nowszych) z katalogu folderu css do publicznego i możesz użyć
{{HTML::style('your_view_folder/myStyle.css')}}
wewnątrz swoich plików widoku, oto kod dla Twojej wygody, w opublikowanym kodzie umieść go przedreturn View::make()
:Jeśli naprawdę chcesz spróbować zrealizować swój pomysł, wypróbuj to:
Ale to nie zadziała, nawet jeśli katalog plików jest poprawny, ponieważ Laravel nie zrobi tego ze względów bezpieczeństwa, Laravel kocha cię tak bardzo.
źródło
Moim zdaniem najlepszą opcją przekierowania do css & js jest następujący kod:
Więc jeśli masz plik css o nazwie main.css w folderze css w folderze publicznym, powinien wyglądać tak:
źródło
umieść swój plik css w folderze publicznym. (public / css / bootstrap-responsive.css) i
<link href="./css/bootstrap-responsive.css" rel="stylesheet">
źródło
<link href="./css/bootstrap-responsive.css" rel="stylesheet">
i<link href="{{ url('/') }}./css/bootstrap-responsive.css" rel="stylesheet">
Możesz po prostu umieścić wszystkie pliki w określonym folderze w sposób publiczny, taki jak
public / css
public / js
public / images
Następnie po prostu wywołaj pliki tak, jak w normalnym html
<link href="css/file.css" rel="stylesheet" type="text/css">
Działa dobrze w każdej wersji Laravel
źródło
Skopiuj plik css lub js, który chcesz dołączyć, do folderu publicznego lub możesz chcieć przechowywać je w folderach public / css lub public / js.
Na przykład. używasz pliku style.css z folderu css w katalogu publicznym, możesz użyć
<link rel="stylesheet" href="{{ url() }}./css/style.css" type="text/css"/>
Ale w Laravel 5.2 będziesz musiał użyć
a jeśli chcesz dołączyć pliki javascript z folderu public / js, jest to również dość proste
aw Laravel 5.2 będziesz musiał użyć
funkcja
url()
jest funkcją pomocniczą programu laravel, która wygeneruje w pełni kwalifikowany adres URL do podanej ścieżki.źródło
umieść swój plik css w folderze publicznym
dodaj to w swoim pliku ostrza
źródło
Posługiwać się {!! w nowym laravelu
źródło
W przypadku Laravel 5.4 i jeśli używasz pomocnika mieszania, użyj
źródło
Umieść je w
public
folderze i nazwij to w widoku z czymś w rodzajuhref="{{ asset('public/css/style.css') }}"
. Pamiętaj, żepublic
podczas wywoływania zasobów należy uwzględnić.źródło
Dla tych, którzy chcą trzymać js / css poza folderem publicznym z jakichkolwiek powodów, w nowoczesnym Laravelu możesz użyć widoków podrzędnych . Powiedz, że masz strukturę poglądów
w
view1
dodatkuw
views-js.blade.php
plikach zawiń kod js w<script>
znacznikw
views-css.blade.php
owinąć style w<style>
taguŻe powie laravel i edytor kodu, że są to w rzeczywistości
js
icss
plików. Możesz zrobić to samo z dodatkowymi plikami HTML, SVG i innymi rzeczami, które można renderować w przeglądarceźródło