0
votes

Comment puis-je transmettre la valeur d'un lien différent à une vue laravel?

J'ai donc ce view1.php où je veux transmettre différentes valeurs de différents liens à view2.php. J'arrive à passer et à obtenir la valeur, mais le css que j'ai mis dans mon layout.php ne fonctionnera tout simplement pas pour view2.php. Je ne sais pas où je me trompe. Existe-t-il une autre façon de transmettre des valeurs différentes autres que celle-ci?

view1.php

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="csrf-token" content="{{ csrf_token() }}">

  <title>{{ config('app.name', 'Laravel') }}</title>
  <link rel="stylesheet" type="text/css" href="css/materialize.css"  media="screen,projection"/>
  <link rel="stylesheet" href="css/bootstrap/bootstrap.css">
  <link rel="stylesheet" href="css/user.css">

  <script type="text/javascript" src="js/main.js"></script>
</head>
<body>
  <nav> </nav>

  <main class="">
    @yield('content')
  </main>

  <footer> </footer>
  @yield('alert')
</body>
<script type="text/javascript" src="js/materialize.min.js"></script>
</html>

web.php

Route::get('/pass/{id}','User\MyController@postID');

MyController.php

@extends('layouts.layout')
@section('content')
  <div>
    {{$id}}
  </div>
@endsection

view2.php

public function postID($id) {
    return view('user.view2', [
      'id' => $id
    ]);
}

layout.php

@extends('layouts.layout')
@section('content')
<div>
    <a href="/pass/6000"> OP 6000 </a>
    <a href="/pass/10000"> OP 10000 </a>
    <a href="/pass/20000"> OP 20000 </a>
</div>
@endsection


3 commentaires

Remplacez href = "css par href =" / css ou utilisez les ressources d'aide de Laravel. Aussi src = "/ js au lieu de src =" js


Quel est le lien entre «transmettre des valeurs aux vues» et «CSS non rendu»? Quelle est votre question?


Est-ce votre réponse? stackoverflow.com/a/51837048/12232340


3 Réponses :


0
votes

Il semble que le css ne se charge pas dans view2.php. Vous devez utiliser baseurl pour charger css.

Exemple:


0 commentaires

0
votes

Ce problème se produit car lorsque vous redirigez une autre vue, votre CSS ne se charge pas correctement.

Je vous conseille d'utiliser la méthode assets .

<link rel="stylesheet" type="text/css" href="{{ asset('css/materialize.css') }}"  media="screen,projection"/>
<link rel="stylesheet" href="{{ asset('css/bootstrap/bootstrap.css') }}">
<link rel="stylesheet" href="{{ asset('css/user.css') }}">


0 commentaires

0
votes

Simplement parce que l'URL de votre vue2 est http://something.com/pass/some_id et que vous liez les feuilles de style par css / some_css.css pour que, il recherche dans le répertoire courant c'est-à-dire pass pour que les URL des feuilles de style deviennent comme http://something.com/pass/css/some_css.css . C'est un problème.

Si vous utilisez /css/some_cs.css , il essaiera de localiser les fichiers dans le répertoire de base, c'est-à-dire le répertoire / , de sorte que l'URL deviendra < code> http://something.com/css/some_css.css et tout fonctionnera parfaitement.

sinon, vous devriez utiliser l'assistant fourni par Laravel {{asset ('css / some_css.css')}} Il générera une URL, où se trouvent les fichiers sans faute.


1 commentaires

même chose pour CSS et JS. Commencez par /