【问题标题】:adding css and js file in laravel 5.3在 laravel 5.3 中添加 css 和 js 文件
【发布时间】:2017-02-08 20:21:03
【问题描述】:

我想在单个页面中包含一个 css 所有 css 和 js 并将其加载到所有页面中。现在如果我想在欢迎页面中包含 bootstrap.css 和 bootstrap.js 我已包含在welcome.blade.php 页面和如果我想添加另一个页面,我也包含在 second.blade.php 页面中。我想将它包含在母版页中

<link href="{{ asset('css/bootstrap.css') }}" rel="stylesheet">

【问题讨论】:

  • 创建一个单独的 header.blade 并包含 css 和 js。然后在每个页面中扩展
  • 我可以在另一个页面中包含一个blade.php吗?
  • 是的.. 下面我分享我的代码

标签: javascript php css laravel


【解决方案1】:

以下是您可以遵循的步骤

  1. 创建主模板布局
  2. 在所有页面中扩展主模板并将链接粘贴到标题部分

创建主模板 //master.blade.php

<html lang="en">

      @yield('header')

<body>
      @yield('page-body')
</body>
</html>

现在在 second.blade.php 中扩展这个布局

@extend('master.blade')
@section('header')
   <link href="{{ asset('css/bootstrap.css') }}" rel="stylesheet">
@endsection
@section('page-body')
   {{!-- content of body --}}
@endsection

【讨论】:

    【解决方案2】:

    箱子 header.blade.php

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="csrf-token" content="{{ csrf_token() }}" />
        <meta name="description" content="">
        <meta name="author" content="">
    
        <title>dhinchakwale</title>
        <!-- Bootstrap Core CSS -->
        <link href="{{ asset('/css/bootstrap.min.css') }}" rel="stylesheet">
    
        <link href="{{ asset('/css/datepicker.css') }}" rel="stylesheet" type="text/css">
        <link href="{{ asset('/css/bootstrap-timepicker.min.css') }}" rel="stylesheet" type="text/css">
    
        <link href="{{ asset('/css/dataTables.bootstrap.css') }}" rel="stylesheet">    
        <!-- Custom CSS -->  
        <link href="{{ asset('/css/admin.css') }}" rel="stylesheet">
    
        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
        <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
        <!--[if lt IE 9]>
            <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
            <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
        <![endif]-->
    
        <!-- jQuery -->
        <script src="{{ asset('/js/jquery.min.js') }}"></script>    
      </head>
    
      <body id="page-top">
        <nav class="navbar navbar-default">
          <div class="container-fluid">
            <!-- Brand and toggle get grouped for better mobile display -->        
            <div class="navbar-header">
              <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              <a class="navbar-brand" href="/"><img alt="Brand" src="{{asset('/images/logo.png')}}" class="img-brand"></a>
            </div>      
          </div>
        </nav>
        <div class="content-div">
          @yield('content')
        </div>
        <div class="clearfix"></div>  
    
        <!-- Bootstrap Core JavaScript -->
        <script src="{{ asset('/js/bootstrap.min.js') }}"></script> 
        <script src="{{ asset('/js/bootstrap-datepicker.js') }}"></script>
        <script src="{{ asset('/js/bootstrap-timepicker.min.js') }}"></script>
      </body>
    </html>
    

    并像这样使用 首先扩展标题 您的内容的第二部分

    @extends('layouts.header')
    @section('content')
      <section class="content-header">
        <h1>
          Hello
        </h1>
      </section>
    @stop  
    

    【讨论】:

      【解决方案3】:

      您可以定义一个主布局视图文件,然后在那里定义您的 CSS 和 JS。然后您的所有视图文件都将扩展该布局文件。请参阅此处的文档:https://laravel.com/docs/5.3/blade

      【讨论】:

        【解决方案4】:

        定义一个通用布局并在该布局上包含所有 .js 和 .css 文件,然后将您的页面与该布局绑定。

        布局:

        <html>
            <head>
                <title>App Name - @yield('title')</title>
            </head>
            <body>
                @section('sidebar')
                    This is the master sidebar.
                @show
        
                <div class="container">
                    @yield('content')
                </div>
            </body>
        </html>
        

        其中:@yield 指令用于显示给定部分的内容。

        查看:

        @extends('layouts.default')
        @section('content')
            i am the home page
        @endsection
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-04-21
          • 2017-11-28
          • 2019-08-14
          • 2020-10-18
          • 1970-01-01
          • 2021-05-19
          • 1970-01-01
          • 2012-12-26
          相关资源
          最近更新 更多