2017-06-06 2 views
0

J'essaie d'utiliser différentes feuilles de style dans mon master.blade.php pour différentes pages. Quand j'utilise des routes simples cela fonctionne.Comment utiliser l'URL avec le paramètre dans la lame Laravel

@if (Request::path() == 'videos/alpes') 
    <link rel="stylesheet" href="{{ URL::asset('/css/style-vid.css') }}" type="text/css" media="all"> 
@elseif (Request::path() == 'texts') 
    <link rel="stylesheet" href="{{ URL::asset('/css/style-lir.css') }}" type="text/css" media="all"> 
@else 
    <link rel="stylesheet" href="{{ URL::asset('/css/style-all-together.css') }}" type="text/css" media="all"> 

Mais je ne peux pas trouver le moyen d'utiliser dans l'instruction @if un itinéraire avec des paramètres à savoir

Route::get('/videos/{video}', '[email protected]'); 

J'essaie de le faire pour toutes les vidéos, non seulement pour l'un d'eux (Alpes) . Y a-t-il un moyen simple de le faire?

+0

Bienvenue dans Stack Overflow. S'il vous plaît jeter un oeil à [Tour] (https://stackoverflow.com/tour) et [Demander] (https://stackoverflow.com/help/asking). – Shiro

Répondre

0

Essayez utilisation action helper:

La fonction d'action génère une URL pour l'action du contrôleur donné. Vous n'avez pas besoin de passer l'espace de noms complet au contrôleur. Au lieu de cela, passer le nom de la classe du contrôleur par rapport à l'espace de noms App\Http\Controllers:

$url = action('[email protected]');

Si la méthode accepte les paramètres d'itinéraire, vous pouvez les passer comme second argument à la méthode:

$url = action('[email protected]', ['id' => 1]);

Dans votre variante:

@if(Request::url() == action('[email protected]', ['video' => $video])) 
    //some code 
@endif 

Vous pouvez changer votre code Request::path() == 'videos/alpes' à Request::is('video/alpes')