Saya baru saja mulai mempelajari Laravel, dan dapat melakukan dasar-dasar pengontrol dan perutean.
OS saya adalah Mac OS X Lion, dan ada di server MAMP.
Kode saya dari routes.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>";
});
Itu berfungsi, tampilan ditampilkan dengan sempurna, '' namun '' yang ingin saya coba dan lakukan adalah menyertakan CSS dalam tampilan, saya mencoba menambahkan tautan ke stylesheet di dalam direktori tetapi halaman menampilkannya sebagai font browser default bahkan meskipun cssnya ada di HTML!
Ini adalah index.php dari bisnis dalam folder views:
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
<p>Business is a varied term. My content here.
Saya mencoba menggunakan mesin template Blade di folder views saya yang lain (pengujian) untuk menampilkan CSS tetapi sekali lagi CSS tidak muncul meskipun berada di folder pengujian!
Bagaimana saya bisa mengatasi masalah ini, dan menjadi lebih baik - karena saya perlahan-lahan mempelajari kerangka kerja ini.
sumber
{{ URL::asset('css/css.css') }}
Jawaban:
Taruh aset Anda di folder publik
Dan mereka menyebutnya menggunakan Laravel
sumber
Taruh aset Anda di folder publik
Dan kemudian menyebutnya menggunakan Laravel
(ATAU)
sumber
{{ URL::asset('js/scrollTo.js'); }}
? dapatkah anda memberi contoh?file css Anda termasuk dalam folder publik atau subfoldernya.
fe jika Anda memasukkan css Anda
Anda akan menggunakan
Dalam pandangan pedangmu ...
Atau Anda juga bisa menggunakan kelas Asset http://laravel.com/docs/views/assets ...
sumber
Anda juga dapat menulis tag tautan sederhana seperti yang biasa Anda lakukan dan kemudian menggunakan atribut href:
tentu saja Anda perlu meletakkan file css Anda di bawah public / css
sumber
Kita bisa melakukannya dengan cara berikut.
Ini akan mencari file gaya di folder publik Laravel dan kemudian akan merendernya.
sumber
http
<link href = "{{{asset ('/ css / style.css')}}}" rel = "stylesheet"> tetapi jika Anda menggunakanhttps
maka permintaan akan diblokir dan kesalahan konten campuran akan datang, untuk menggunakannya melalui https Anda harus menggunakansecure_asset
seperti <link href = "{{{secure_asset ('/ css / style.css')}}}" rel = "stylesheet" > laravel.com/docs/5.1/helpers#method-secure-assetSeperti yang disebutkan Ahmad Sharif, Anda dapat menautkan stylesheet ke atas
http
tetapi jika Anda menggunakan
https
maka permintaan akan diblokir dan kesalahan konten campuran akan datang, untuk menggunakannya melalui https, gunakansecure_asset
sepertihttps://laravel.com/docs/5.1/helpers#method-secure-asset
sumber
public/css
atauresources/assets/css
Sejak Laravel 5
HTML
kelas tidak disertakan secara default lagi.Anda dapat menggunakan baris berikut untuk memasukkan file CSS atau JS Anda:
sumber
Pembaruan untuk laravel 5.4 ----
Semua jawaban telah menggunakan kelas HTML untuk laravel tetapi saya kira itu telah disusutkan sekarang di laravel 5.4, jadi Letakkan file css dan js Anda di publik-> css / js Dan rujuk mereka di html Anda menggunakan
sumber
Itu tidak mungkin bro, Laravel menganggap semuanya ada di folder publik.
Jadi saran saya adalah:
Atau
Jika Anda benar-benar bersikeras untuk meletakkan css di dalam folder views, Anda dapat mencoba membuat Symlink (Anda mac jadi tidak apa-apa, tetapi untuk windows, ini hanya akan bekerja untuk Vista, Server 2008 atau lebih tinggi) dari direktori folder css Anda ke publik folder dan Anda dapat menggunakan
{{HTML::style('your_view_folder/myStyle.css')}}
di dalam file tampilan Anda, berikut adalah kode untuk kenyamanan Anda, dalam kode yang Anda posting, letakkan ini sebelumreturn View::make()
:Jika Anda benar-benar ingin mencoba mewujudkan ide Anda, coba ini:
Tetapi itu tidak akan berfungsi bahkan jika direktori file benar karena Laravel tidak akan melakukannya untuk tujuan keamanan, Laravel sangat mencintai Anda.
sumber
Menurut pendapat saya, opsi terbaik untuk merutekan ke css & js menggunakan kode berikut:
Jadi jika Anda memiliki file css bernama main.css di dalam folder css di folder publik itu harus sebagai berikut:
sumber
letakkan File css Anda di folder publik. (public / css / bootstrap-responsive.css) dan
<link href="./css/bootstrap-responsive.css" rel="stylesheet">
sumber
<link href="./css/bootstrap-responsive.css" rel="stylesheet">
dan<link href="{{ url('/') }}./css/bootstrap-responsive.css" rel="stylesheet">
Anda cukup meletakkan semua file di folder yang ditentukan di publik seperti
publik / css
publik / js
publik / gambar
Kemudian panggil saja file seperti pada html biasa seperti
<link href="css/file.css" rel="stylesheet" type="text/css">
Ini berfungsi dengan baik di semua versi Laravel
sumber
Salin file css atau js yang ingin Anda masukkan, ke folder publik atau Anda mungkin ingin menyimpannya di folder publik / css atau publik / js.
Misalnya. Anda menggunakan file style.css dari folder css di direktori publik maka Anda dapat menggunakan
<link rel="stylesheet" href="{{ url() }}./css/style.css" type="text/css"/>
Tetapi di Laravel 5.2 Anda harus menggunakan
dan jika Anda ingin memasukkan file javascript dari folder publik / js, itu juga cukup sederhana
dan di Laravel 5.2 Anda harus menggunakannya
fungsinya
url()
adalah fungsi pembantu laravel yang akan menghasilkan URL yang sepenuhnya memenuhi syarat ke jalur tertentu.sumber
letakkan css Anda di folder publik, lalu
tambahkan ini di file blade Anda
sumber
Gunakan {!! di laravel baru
sumber
Untuk Laravel 5.4 dan jika Anda menggunakan mix helper, gunakan
sumber
Letakkan di
public
folder dan beri nama dalam tampilan dengan sesuatu sepertihref="{{ asset('public/css/style.css') }}"
. Perhatikan bahwapublic
harus disertakan saat Anda memanggil aset.sumber
Bagi mereka yang perlu menyimpan js / css dari folder publik karena alasan apapun, di Laravel modern Anda dapat menggunakan sub-view . Katakanlah struktur pandangan Anda adalah
di
view1
tambahkandalam
views-js.blade.php
file, bungkus kode js Anda dengan<script>
tagdalam
views-css.blade.php
membungkus gaya Anda dalam<style>
tagItu akan memberi tahu Laravel, dan editor kode Anda, bahwa itu adalah fakta
js
dancss
file. Anda dapat melakukan hal yang sama dengan HTML tambahan, SVG, dan hal-hal lain yang dapat dirender oleh browsersumber