Je viens de commencer à apprendre Laravel et je peux faire les bases d'un contrôleur et d'un routage.
Mon système d'exploitation est Mac OS X Lion, et il est sur un serveur MAMP.
Mon code de 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>";
});
Cela fonctionne, les vues s'affichent parfaitement, `` cependant '' ce que je veux essayer est d'inclure du CSS dans les vues, j'ai essayé d'ajouter un lien vers une feuille de style dans le répertoire mais la page l'affichait comme police de navigateur par défaut même même si le css était dans le HTML!
Voici index.php des entreprises dans le dossier views:
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
<p>Business is a varied term. My content here.
J'ai essayé d'utiliser le moteur de modèle Blade dans mon autre dossier de vues (test) pour afficher le CSS, mais encore une fois, le CSS ne s'affichait pas bien qu'il soit dans le dossier de test!
Comment puis-je surmonter ce problème et m'améliorer - alors que j'apprends lentement ce cadre.
la source
{{ URL::asset('css/css.css') }}
Réponses:
Mettez vos actifs dans le dossier public
Et ils l'ont appelé en utilisant Laravel
la source
Mettez vos actifs dans le dossier public
Et puis l'a appelé en utilisant Laravel
(OU)
la source
{{ URL::asset('js/scrollTo.js'); }}
? Pouvez-vous donner un exemple?votre fichier css appartient au dossier public ou à un sous-dossier de celui-ci.
fe si vous mettez votre css dans
vous utiliseriez
Dans votre vue de la lame ...
Ou vous pouvez également utiliser la classe Asset http://laravel.com/docs/views/assets ...
la source
Vous pouvez également écrire une balise de lien simple comme vous le feriez normalement, puis utiliser l'attribut href:
bien sûr, vous devez mettre votre fichier css sous public / css
la source
Nous pouvons le faire de la manière suivante.
Il recherchera le fichier de style dans le dossier public de Laravel puis le restituera.
la source
http
<link href = "{{{asset ('/ css / style.css')}}}" rel = "stylesheet"> mais si vous utilisezhttps
alors le la demande sera bloquée et une erreur de contenu mixte viendra, pour l'utiliser sur https, vous devez utilisersecure_asset
comme <link href = "{{{secure_asset ('/ css / style.css')}}}" rel = "styleheet" > laravel.com/docs/5.1/helpers#method-secure-assetComme Ahmad Sharif l'a mentionné, vous pouvez lier la feuille de style sur
http
mais si vous utilisez,
https
la demande sera bloquée et une erreur de contenu mixte viendra, pour l'utiliser sur https, utilisezsecure_asset
commehttps://laravel.com/docs/5.1/helpers#method-secure-asset
la source
public/css
ouresources/assets/css
Depuis Laravel 5, la
HTML
classe n'est plus incluse par défaut.Vous pouvez utiliser la ligne suivante pour inclure vos fichiers CSS ou JS:
la source
Mise à jour pour laravel 5.4 ----
Toutes les réponses ont utilisé la classe HTML pour laravel mais je suppose qu'elle a été dépréciée maintenant dans laravel 5.4, alors mettez vos fichiers css et js dans public-> css / js et référencez-les dans votre html en utilisant
la source
Ce n'est pas possible bro, Laravel suppose que tout est dans un dossier public.
Donc ma suggestion est:
Ou
Si vous insistez vraiment pour mettre css dans le dossier views, vous pouvez essayer de créer Symlink (vous êtes mac donc c'est ok, mais pour Windows, cela ne fonctionnera que pour Vista, Server 2008 ou supérieur) à partir de votre répertoire de dossier css vers le public et vous pouvez utiliser à l'
{{HTML::style('your_view_folder/myStyle.css')}}
intérieur de vos fichiers de vue, voici un code pour votre commodité, dans le code que vous avez posté, placez-les avantreturn View::make()
:Si vous voulez vraiment essayer de faire votre idée, essayez ceci:
Mais cela ne fonctionnera pas même si le répertoire de fichiers est correct car Laravel ne le fera pas pour des raisons de sécurité, Laravel vous aime tellement.
la source
À mon avis, la meilleure option pour acheminer vers css & js utilise le code suivant:
Donc, si vous avez un fichier css appelé main.css dans le dossier css du dossier public, il devrait être le suivant:
la source
mettez votre fichier css dans un dossier public. (public / css / bootstrap-responsive.css) et
<link href="./css/bootstrap-responsive.css" rel="stylesheet">
la source
<link href="./css/bootstrap-responsive.css" rel="stylesheet">
et<link href="{{ url('/') }}./css/bootstrap-responsive.css" rel="stylesheet">
Vous pouvez simplement mettre tous les fichiers dans son dossier spécifié en public comme
public / css
public / js
public / images
Ensuite, appelez simplement les fichiers comme en HTML normal comme
<link href="css/file.css" rel="stylesheet" type="text/css">
Cela fonctionne très bien dans n'importe quelle version de Laravel
la source
Copiez le fichier css ou js que vous souhaitez inclure dans un dossier public ou vous souhaiterez peut-être les stocker dans des dossiers public / css ou public / js.
Par exemple. vous utilisez le fichier style.css du dossier css dans le répertoire public, vous pouvez utiliser
<link rel="stylesheet" href="{{ url() }}./css/style.css" type="text/css"/>
Mais dans Laravel 5.2, vous devrez utiliser
et si vous souhaitez inclure des fichiers javascript du dossier public / js, c'est assez simple aussi
et dans Laravel 5.2, vous devrez utiliser
la fonction
url()
est une fonction d'aide laravel qui générera une URL complète vers un chemin donné.la source
mettez votre css dans un dossier public, puis
ajoutez ceci dans votre fichier lame
la source
Utilisation {!! dans le nouveau laravel
la source
Pour Laravel 5.4 et si vous utilisez mix helper, utilisez
la source
Mettez-les dans un
public
dossier et appelez-le dans la vue avec quelque chose commehref="{{ asset('public/css/style.css') }}"
. Notez que lepublic
doit être inclus lorsque vous appelez les actifs.la source
Pour ceux qui ont besoin de garder js / css hors du dossier public pour quelque raison que ce soit, dans Laravel moderne, vous pouvez utiliser des sous-vues . Dites que votre structure de vues est
en
view1
plusdans les
views-js.blade.php
fichiers, enveloppez votre code js dans<script>
baliseen
views-css.blade.php
enveloppant vos styles en<style>
tagCela dira à Laravel, et à votre éditeur de code, que ce sont en fait des fichiers
js
et descss
fichiers. Vous pouvez faire de même avec du HTML, des SVG supplémentaires et d'autres éléments pouvant être rendus par le navigateurla source