38 votes

Laravel 4: Quel est le remplacement de Asset :: add?

Comment gérez-vous les actifs dans le nouveau Laravel 4? Il semble que Taylor Otwell ait remplacé Asset::add par quelque chose de nouveau.

Ce que j'essaie de faire, c'est que Laravel ajoute mes fichiers CSS et JS. Il y avait plusieurs façons de faire cela dans Laravel 3, mais ils semblent avoir disparu maintenant. L'un était Asset::add et l'autre HTML . Quels sont les remplaçants pour ceux-ci?

40voto

Ben Bos Points 869

Dans Laravel 4, vous pouvez utiliser la classe HTML . Elle est incluse par défaut dans le package Laravel Framework:

Feuille de style:

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

Javascript:

 {{ HTML::script('js/default.js') }}
 

8voto

Dirk Points 1045

J'utilise l'assistant:

 <script src="{{ asset('js/jquery-1.9.1.js') }}"></script>
<script src="{{ asset('js/bootstrap.min.js') }}"></script>
 

Voir également

 vendor/laravel/framework/src/Illuminate/Support/helpers.php
 

Beaucoup d'autres aides aussi, par exemple, app_path (), divers outils de tableau, link_to_route (), link_to_action (), storage_path (), etc.

8voto

Sandy Wilbourn Points 71

Laravel 4 n'a pas de sortie de la boîte de la gestion d'actifs. Mais certains paquets ont été créés pour gérer ce genre de chose.

  • codesleeve/asset pipeline (mon préféré à ce jour)

  • jasonlewis/basset (eu quelques erreurs avec ce)

  • teepluss/actif (le plus proche de Laravel 3 Actifs::add (), mais ne fait pas de concaténation ou minification)

  • moyen/de garde-laravel (nécessite ruby garde gem à exécuter)

7voto

popas Points 148

C'est ce que j'ai fait lorsque j'ai eu besoin d'ajouter des fichiers .css et .js uniquement à une page spécifique:

Dans mon modèle de lame:

 <head>
<title>.....</title>
.....
@yield('head')
</head>
 

Et dans mon fichier de lame de page spécifique:

 @extends('template')
    @section('head')
    {{ HTML::style('css/filename.css') }}
    {{ HTML::script('js/filename.js') }}
    @stop
...
 

4voto

Qu'en est-il de Basset (ex Best Asset) ?: http://jasonlewis.me/code/basset

Je viens de l'installer sur L4, toujours pas de test, mais prometteur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X