Search code examples
phplaravellaravel-4

Include Bootstrap in Laravel


I'm a Laravel newbie. I have just installed some 3rd party packages and I would like to integrate Twitter bootstrap into my script. Is there any way to do it, short of going into each package and adding the code to the blade templates of each view?


Solution

  • This is the top/header part of my currently running application's master layout:

    <!-- app/views/layouts/master.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.0" />
        <meta name="description" content="Simple CMS" />
        <meta name="author" content="Sheikh Heera" />
        <link rel="shortcut icon" href={{ assets("favicon.png") }} />
    
        <title>LaraPress</title>
    
        <!-- Bootstrap core CSS -->
        <link href = {{ asset("bootstrap/css/bootstrap.css") }} rel="stylesheet" />
    
        <!-- Custom styles for this template -->
        <link href = {{ asset("bootstrap/css/sticky-footer-navbar.css") }} rel="stylesheet" />
    
        <!-- Optional theme -->
        <link rel="stylesheet" href="{{ asset('bootstrap/css/bootstrap-theme.min.css') }}">
    </head>
    

    Follow this approach and make your each view to extend the master layout like this:

    <!-- app/views/user/show.blade.php -->
    @extends('layouts.master')
    
    @section('content')
    <div class="panel panel-default">
        <div class="panel-heading"><label>View User</label>
            <a class ='pull-right' href="{{ Request::header('referer') }}">
                <i class="glyphicon glyphicon-circle-arrow-left"></i> Go Back
            </a>
        </div>
    

    This is a partial of my view (top part) which extends the master layout so it become a part of the master layout. Master layout is stored in app/views/layouts/ folder and name is master.blade.php so, @extends('layouts.master') means to extend master.blade.php from layouts folder and it (name) could be anything, each view also must contains .blade in the file name before the .php.