Ich habe gerade angefangen, Laravel zu lernen und kann die Grundlagen eines Controllers und Routings erlernen.
Mein Betriebssystem ist Mac OS X Lion und befindet sich auf einem MAMP-Server.
Mein Code von 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>";
});
Das funktioniert, die Ansichten werden perfekt angezeigt. Ich möchte jedoch versuchen, CSS in die Ansichten aufzunehmen. Ich habe versucht, einen Link zu einem Stylesheet im Verzeichnis hinzuzufügen, aber die Seite hat ihn sogar als Standardschriftart des Browsers angezeigt obwohl das CSS im HTML war!
Dies ist index.php von Unternehmen im Ansichtsordner:
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
<p>Business is a varied term. My content here.
Ich habe versucht, die Blade-Vorlagen-Engine in meinem anderen Ansichtsordner (Testen) zum Anzeigen von CSS zu verwenden, aber auch hier wurde das CSS nicht angezeigt, obwohl es sich im Testordner befindet!
Wie kann ich dieses Problem überwinden und besser werden - während ich langsam diesen Rahmen lerne?
quelle
{{ URL::asset('css/css.css') }}
Antworten:
Legen Sie Ihre Assets in den öffentlichen Ordner
Und sie nannten es mit Laravel
quelle
Legen Sie Ihre Assets in den öffentlichen Ordner
Und dann nannte es mit Laravel
(ODER)
quelle
{{ URL::asset('js/scrollTo.js'); }}
? Kannst du ein Beispiel geben?Ihre CSS-Datei gehört in den öffentlichen Ordner oder einen Unterordner davon.
zB wenn du dein CSS reinlegst
du würdest verwenden
In Ihrer Klingenansicht ...
Sie können auch die Asset-Klasse http://laravel.com/docs/views/assets verwenden ...
quelle
Sie können auch ein einfaches Link-Tag schreiben, wie Sie es normalerweise tun würden, und dann auf dem href attr verwenden:
Natürlich müssen Sie Ihre CSS-Datei unter public / css ablegen
quelle
Wir können dies auf folgende Weise tun.
Es wird die Style-Datei im öffentlichen Ordner von Laravel durchsuchen und dann rendern.
quelle
http
, wenn Sie ein Stylesheet über <link href = "{{{asset ('/ css / style.css')}}" rel = "stylesheet"> verlinken, aber wenn Sie es verwenden,https
dann das Die Anfrage wird blockiert und ein gemischter Inhaltsfehler wird auftreten.secure_asset
Um sie über https zu verwenden, müssen Sie Folgendes verwenden: <link href = "{{{Secure_asset ('/ css / style.css')}}" rel = "stylesheet" > laravel.com/docs/5.1/helpers#method-secure-assetWie Ahmad Sharif erwähnt hat, können Sie Stylesheet über verlinken
http
aber wenn Sie verwenden,
https
wird die Anfrage blockiert und ein gemischter Inhaltsfehler wird auftreten, um es über https zu verwenden, verwenden Siesecure_asset
wiehttps://laravel.com/docs/5.1/helpers#method-secure-asset
quelle
public/css
oderresources/assets/css
Seit Laravel 5 ist die
HTML
Klasse standardmäßig nicht mehr enthalten.Sie können die folgende Zeile verwenden, um Ihre CSS- oder JS-Dateien einzuschließen:
quelle
Update für Laravel 5.4 ----
Alle Antworten haben die HTML-Klasse für Laravel verwendet, aber ich denke, sie wurde jetzt in Laravel 5.4 abgeschrieben. Legen Sie also Ihre CSS- und JS-Dateien in public-> CSS / JS ab und verweisen Sie sie in Ihrem HTML-Code mit
quelle
Das ist nicht möglich, Bruder, Laravel geht davon aus, dass sich alles im öffentlichen Ordner befindet.
Mein Vorschlag lautet also:
Oder
Wenn Sie wirklich darauf bestehen, CSS in den Ordner "Ansichten" einzufügen, können Sie versuchen, Symlink (Sie sind ein Mac, also ist es in Ordnung, aber für Windows funktioniert dies nur für Vista, Server 2008 oder höher) aus Ihrem CSS-Ordnerverzeichnis für die Öffentlichkeit zu erstellen Ordner und Sie können
{{HTML::style('your_view_folder/myStyle.css')}}
innerhalb Ihrer Ansichtsdateien verwenden, hier ist ein Code für Ihre Bequemlichkeit, in dem Code, den Sie gepostet haben, setzen Sie diese vorreturn View::make()
:Wenn Sie wirklich versuchen möchten, Ihre Idee zu verwirklichen, versuchen Sie Folgendes:
Aber es wird nicht funktionieren, selbst wenn das Dateiverzeichnis korrekt ist, da Laravel dies aus Sicherheitsgründen nicht tut. Laravel liebt Sie so sehr.
quelle
Meiner Meinung nach ist die beste Option, um zu CSS & JS zu routen, der folgende Code:
Wenn Sie also eine CSS-Datei namens main.css im CSS-Ordner im öffentlichen Ordner haben, sollte dies die folgende sein:
quelle
Legen Sie Ihre CSS-Datei in einem öffentlichen Ordner ab. (public / css / bootstrap-responsive.css) und
<link href="./css/bootstrap-responsive.css" rel="stylesheet">
quelle
<link href="./css/bootstrap-responsive.css" rel="stylesheet">
und<link href="{{ url('/') }}./css/bootstrap-responsive.css" rel="stylesheet">
Sie können einfach alle Dateien in dem angegebenen Ordner öffentlich wie ablegen
public / css
public / js
public / images
Dann rufe einfach die Dateien wie in normalem HTML wie auf
<link href="css/file.css" rel="stylesheet" type="text/css">
Es funktioniert gut in jeder Version von Laravel
quelle
Kopieren Sie die CSS- oder JS-Datei, die Sie einschließen möchten, in einen öffentlichen Ordner, oder speichern Sie diese möglicherweise in öffentlichen / CSS- oder öffentlichen / JS-Ordnern.
Z.B. Sie verwenden die Datei style.css aus dem CSS-Ordner im öffentlichen Verzeichnis, die Sie dann verwenden können
<link rel="stylesheet" href="{{ url() }}./css/style.css" type="text/css"/>
Aber in Laravel 5.2 müssen Sie verwenden
und wenn Sie Javascript-Dateien aus dem Ordner public / js einfügen möchten, ist dies ebenfalls recht einfach
und in Laravel 5.2 müssen Sie verwenden
Die Funktion
url()
ist eine Laravel-Hilfsfunktion, die eine vollständig qualifizierte URL zu einem bestimmten Pfad generiert.quelle
Legen Sie dann Ihr CSS in einen öffentlichen Ordner
Fügen Sie dies in Ihre Blade-Datei ein
quelle
Verwenden {!! in neuem Laravel
quelle
Verwenden Sie für Laravel 5.4 und wenn Sie Mix Helper verwenden
quelle
Legen Sie sie in einen
public
Ordner und rufen Sie sie in der Ansicht mit so etwas wie aufhref="{{ asset('public/css/style.css') }}"
. Beachten Sie, dasspublic
dies beim Aufrufen der Assets berücksichtigt werden sollte.quelle
Für diejenigen , die js / css aus öffentlichen Ordner für welchen Gründen auch immer, in der modernen Laravel Sie verwenden können , halten müssen Unteransichten . Angenommen, Ihre Ansichtsstruktur ist
in
view1
addin
views-js.blade.php
Dateien wickeln Sie Ihren js-Code ein<script>
Tag einin
views-css.blade.php
wickeln Sie Ihre Stile in<style>
TagDas wird sagen Laravel und Code - Editor, dass die sind in der Tat
js
undcss
Dateien. Sie können dasselbe mit zusätzlichem HTML, SVGs und anderen Dingen tun, die vom Browser gerendert werden könnenquelle