[php] Laravel 4. twitter bootstrap 적용하기
# 요약
1. 우선 bootstrap을 다운로드 : http://getbootstrap.com/
2. public 폴더안에 css, fonts, js 폴더 통자로 복사 붙여넣기
3. 내가 만든 blade 또는 view파일에
{{ HTML::style('css/bootstrap.css') }}
{{ HTML::style('css/bootstrap-responsive.css') }}
{{ HTML::script('js/jquery.v1.8.3.min.js') }}
{{ HTML::script('js/bootstrap.min.js') }}
head사이에 넣기!
# 원문
The Twitter-Bootstrap is a simple front-end framework that is used in many web applications.
You can download the latest version at getbootstrap.com. Laravel also has a bootstrap-directory, but this has nothing to do with the Twitter-Bootstrap.
This chapter is based on the previous Using Templates chapter. To start directly, you have to download using-templates-package.
Add Bootstrap to your Application
To make the bootstrap available for our application we have to create some directories:
- /public/css
- /public/fonts
- /public/js
The downloaded bootstrap-package also has this directories somewhere inside. Just copy (extract) the files to the appropriate directories. In addition we download jQuery.com to supply it directly in our public js-directory. Now you should have following files in your public:
- /public/css/bootstrap.css
- /public/css/bootstrap.min.css
- /public/css/bootstrap-theme.css
- /public/css/bootstrap-theme.min.css
- /public/fonts/glyphicons-halflings-regular.eot
- /public/fonts/glyphicons-halflings-regular.svt
- /public/fonts/glyphicons-halflings-regular.ttf
- /public/fonts/glyphicons-halflings-regular.woff
- /public/js/bootstrap.js
- /public/js/bootstrap.min.js
- /public/js/jquery-1.11.1.min.js
Use Bootstrap in your Master-Template
We have to include the Bootstrap at our master template to supply it to all pages.
/app/views/layouts/master.blade.php:
<!DOCTYPE html> <html> <head> <title> @section('title') Laravel 4 - Tutorial @show </title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- CSS are placed here --> {{ HTML::style('css/bootstrap.css') }} {{ HTML::style('css/bootstrap-theme.css') }} <style> @section('styles') body { padding-top: 60px; } @show </style> </head> <body> <!-- Container --> <div class="container"> <!-- Content --> @yield('content') </div> <!-- Scripts are placed here --> {{ HTML::script('js/jquery-1.11.1.min.js') }} {{ HTML::script('js/bootstrap.min.js') }} </body> </html>
According to the Bootstrap-Help we add a meta-tag "viewport" for mobile devices. We can use {{ HTML::style('...') }} to add a css and {{ HTML::script('...') }} to add a javascript to our template. So we insert two css and two scripts.
To get this example working we need to add a padding for our body to show the menu correctly. To give the views the possibility to change the styles we add a styles section.
If you test the view, you will not see much changes. In the next step we add a main navigation-bar.
/app/views/layouts/master.blade.php:
<!DOCTYPE html> <html> <head> <title> @section('title') Laravel 4 - Tutorial @show </title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- CSS are placed here --> {{ HTML::style('css/bootstrap.css') }} {{ HTML::style('css/bootstrap-theme.css') }} <style> @section('styles') body { padding-top: 60px; } @show </style> </head> <body> <!-- Navbar --> <div class="navbar navbar-inverse navbar-fixed-top" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <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="#">Laravel</a> </div> <!-- Everything you want hidden at 940px or less, place within here --> <div class="collapse navbar-collapse"> <ul class="nav navbar-nav"> <li><a href="{{{ URL::to('') }}}">Home</a></li> </ul> </div> </div> </div> <!-- Container --> <div class="container"> <!-- Content --> @yield('content') </div> <!-- Scripts are placed here --> {{ HTML::script('js/jquery-1.11.1.min.js') }} {{ HTML::script('js/bootstrap.min.js') }} </body> </html>
I don't want to explain all the elements here. You can look at the Bootstrap Help.
For the Home-Button we insert {{{ URL::to('') }}} to get automatic the correct link to our homepage.
You can test the new layout in your browser.
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
993 | System/OS | 무료로 HTTPS 적용하기 (Let's Encrypt) | hooni | 2017.10.28 | 1409 |
992 | Develop | What is difference between Get, Post, Put and Delete? | hooni | 2018.02.28 | 1412 |
991 | Etc | 아이폰의 터치스크린 정확도 | hooni | 2015.04.01 | 1425 |
990 | Etc | IT감사 기법 시험 | hooni | 2017.06.14 | 1426 |
989 | System/OS | [mac] Mac OS에서 재생되는 사운드를 녹음하는 방법 | hooni | 2016.10.03 | 1451 |
988 | System/OS | [linux] wget 명령 사용 예제 | hooni | 2020.05.26 | 1451 |
987 | System/OS | OpenSSL로 ROOT CA 생성 및 SSL 인증서 발급하기 | hooni | 2017.10.28 | 1468 |
986 | Database | [mysql] MacOS에 MySQL 설치, 설정, 암호 재설정 | hooni | 2017.12.15 | 1474 |
985 | Develop | [android] 레이아웃 사이즈 변경 (동적; programmatically) | hooni | 2016.11.07 | 1490 |
984 | Develop | [ios] binary를 C코드로 변환 | hooni | 2015.01.03 | 1536 |
983 | System/OS | [mac] OS X 요세미티 사용자가 많이 겪는 버그와 몇몇 불편사항 | hooni | 2015.01.04 | 1536 |
982 | System/OS | [svn] 하나의 SVN에서 멀티 저장소 (One svnserve, multiple repositories) | hooni | 2015.01.02 | 1551 |