国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
PHP的Laravel框架中使用AdminLTE模板來(lái)編寫(xiě)網(wǎng)站后臺(tái)界面,laraveladminlte
您可能感興趣的文章:
首頁(yè) 後端開(kāi)發(fā) php教程 PHP的Laravel框架中使用AdminLTE模板來(lái)編寫(xiě)網(wǎng)站后臺(tái)界面,laraveladminlte_PHP教程

PHP的Laravel框架中使用AdminLTE模板來(lái)編寫(xiě)網(wǎng)站后臺(tái)界面,laraveladminlte_PHP教程

Jul 12, 2016 am 08:56 AM
laravel php

PHP的Laravel框架中使用AdminLTE模板來(lái)編寫(xiě)網(wǎng)站后臺(tái)界面,laraveladminlte

AdminLTE 是一個(gè)基于Bootstrap 3.x的免費(fèi)高級(jí)管理控制面板主題,完全響應(yīng)式管理,適合從小型移動(dòng)設(shè)備到大型臺(tái)式機(jī)很多的屏幕分辨率。

AdminLTE的特點(diǎn):

  • 充分響應(yīng)
  • 可分類(lèi)的儀表盤(pán)
  • 18插件和3自定義插件
  • 重量輕和快速
  • 與大多數(shù)主流瀏覽器兼容
  • 完全支持Glyphicons,Fontawesome和圖標(biāo)

我們使用的工具

  • Laravel
  • AdminLTE 2.3.2
  • Bower
  • Composer

下載一個(gè)全新的 Laravel
如果不太清楚可以去官方網(wǎng)站查看文檔link
在此我們直接使用命令行即可

composer create-project laravel/laravel myapp --prefer-dist


通過(guò)這個(gè)命令我們創(chuàng)建了一個(gè)全新的名字為 myapp 的Laravel項(xiàng)目,如果你成功的話你可以看到下面的圖片

2016321173918278.png (800×498)

通過(guò) Bower 下載 AdminLTE
進(jìn)入到 myapp/public 文件夾

 
 cd myapp/public

在這個(gè)文件夾下執(zhí)行下面的命令

 bower install admin-lte



一旦完成,你會(huì)發(fā)現(xiàn)多了一個(gè) bower_componets 的文件夾,而且在這個(gè)文件夾中你會(huì)看到 AdminLTE

將 AdminLTE 的starter.html 轉(zhuǎn)化為 Blade 模板
Laravel 在此使用了一個(gè)很好的模板引擎 Blade,為了更充分的利用Blade,我們需要將一些常規(guī)的通用的 HTML 的 起始頁(yè)面應(yīng)用到 Blade 模板中,首先創(chuàng)建一個(gè) view 在 resources/views文件夾中,命名為admin_template.blade.php,而后我們?yōu)檫@個(gè)頁(yè)面創(chuàng)建一個(gè)對(duì)應(yīng)的路由。如下面我所創(chuàng)建的


 Route::get('admin', function () {
  return view('admin_template');
 });

然后,將bower_components/admin-lte/starter.html中的內(nèi)容復(fù)制到我們視圖模板中,并且將其中的相關(guān)鏈接指向我們的 AdminLTE 的對(duì)應(yīng)目錄下,如下是我初步的設(shè)置:

<script src="{{ asset("/bower_components/AdminLTE/plugins/jQuery/jQuery-2.1.4.min.js")}}"></script>
<!-- Bootstrap 3.3.5 -->
<script src="{{ asset("/bower_components/AdminLTE/bootstrap/js/bootstrap.min.js")}}"></script>
<!-- AdminLTE App -->
<script src="{{ asset("/bower_components/AdminLTE/dist/js/app.min.js")}}"></script>

類(lèi)似這樣,將css 和 js 的相關(guān)的鏈接指向相應(yīng)的目錄下,而后我們通過(guò) localhost:8000/admin 查看頁(yè)面的變化,此時(shí)頁(yè)面變成了如下圖:

2016321174005589.jpg (800×472)

現(xiàn)在我們擁有了所有的使用 AdminLTE 的所有的資源,下面對(duì)我們的主要視圖增加最后的收尾工作,我將分開(kāi)這個(gè)模板為三個(gè)文件,sidebar.blade.php, header.blade.php, 和 footer.blade.php
這三個(gè)文件的內(nèi)容分別是admin_template.blade.phpheader 部分和 aside 部分和footer 部分,將這三部分截取出來(lái)依次放到三個(gè)文件中。

最后的潤(rùn)色工作
現(xiàn)在我們已經(jīng)將我們的模板個(gè)性化的分離開(kāi)了,下面我們需要設(shè)置我們的最初的admin_template.blade.php
模板以便于內(nèi)容動(dòng)態(tài)加載,如下所示:

<!DOCTYPE html>
<html>
head>
<meta charset="UTF-8">
<title>{{ $page_title or "AdminLTE Dashboard" }}</title>
<meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
<!-- Bootstrap 3.3.2 -->
<link href="{{ asset("/bower_components/AdminLTE/bootstrap/css/bootstrap.min.css") }}" rel="stylesheet" type="text/css" />
<!-- Font Awesome Icons -->
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
<!-- Ionicons -->
<link href="http://code.ionicframework.com/ionicons/2.0.0/css/ionicons.min.css" rel="stylesheet" type="text/css" />
<!-- Theme style -->
<link href="{{ asset("/bower_components/AdminLTE/dist/css/AdminLTE.min.css")}}" rel="stylesheet" type="text/css" />
<!-- AdminLTE Skins. We have chosen the skin-blue for this starter
  page. However, you can choose any other skin. Make sure you
  apply the skin class to the body tag so the changes take effect.
-->
<link href="{{ asset("/bower_components/AdminLTE/dist/css/skins/skin-blue.min.css")}}" rel="stylesheet" type="text/css" />

<!-- 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.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body class="hold-transition skin-blue sidebar-mini">
<div class="wrapper">

<!-- Header -->
@include('header')

<!-- Sidebar -->
@include('sidebar')

<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper">
 <!-- Content Header (Page header) -->
 <section class="content-header">
  <h1>
   {{ $page_title or "Page Title" }}
   <small>{{ $page_description or null }}</small>
  </h1>
  <!-- You can dynamically generate breadcrumbs here -->
  <ol class="breadcrumb">
   <li><a href="#"><i class="fa fa-dashboard"></i> Level</a></li>
   <li class="active">Here</li>
  </ol>
 </section>

 <!-- Main content -->
 <section class="content">
  <!-- Your Page Content Here -->
  @yield('content')
 </section><!-- /.content -->
</div><!-- /.content-wrapper -->

<!-- Footer -->
@include('footer')
<aside class="control-sidebar control-sidebar-dark">
<!-- Create the tabs -->
<ul class="nav nav-tabs nav-justified control-sidebar-tabs">
 <li class="active"><a href="#control-sidebar-home-tab" data-toggle="tab"><i class="fa fa-home"></i></a></li>
 <li><a href="#control-sidebar-settings-tab" data-toggle="tab"><i class="fa fa-gears"></i></a></li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
 <!-- Home tab content -->
 <div class="tab-pane active" id="control-sidebar-home-tab">
 <h3 class="control-sidebar-heading">Recent Activity</h3>
 <ul class="control-sidebar-menu">
  <li>
  <a href="javascript::;">
   <i class="menu-icon fa fa-birthday-cake bg-red"></i>

   <div class="menu-info">
   <h4 class="control-sidebar-subheading">Langdon's Birthday</h4>

   <p>Will be 23 on April 24th</p>
   </div>
  </a>
  </li>
 </ul>
 <!-- /.control-sidebar-menu -->

 <h3 class="control-sidebar-heading">Tasks Progress</h3>
 <ul class="control-sidebar-menu">
  <li>
  <a href="javascript::;">
   <h4 class="control-sidebar-subheading">
   Custom Template Design
   <span class="label label-danger pull-right">70%</span>
   </h4>

   <div class="progress progress-xxs">
   <div class="progress-bar progress-bar-danger" style="width: 70%"></div>
   </div>
  </a>
  </li>
 </ul>
 <!-- /.control-sidebar-menu -->

 </div>
 <!-- /.tab-pane -->
 <!-- Stats tab content -->
 <div class="tab-pane" id="control-sidebar-stats-tab">Stats Tab Content</div>
 <!-- /.tab-pane -->
 <!-- Settings tab content -->
 <div class="tab-pane" id="control-sidebar-settings-tab">
 <form method="post">
  <h3 class="control-sidebar-heading">General Settings</h3>

  <div class="form-group">
  <label class="control-sidebar-subheading">
   Report panel usage
   <input type="checkbox" class="pull-right" checked>
  </label>

  <p>
   Some information about this general settings option
  </p>
  </div>
  <!-- /.form-group -->
 </form>
 </div>
 <!-- /.tab-pane -->
</div>
</aside>
<!-- /.control-sidebar -->
<!-- Add the sidebar's background. This div must be placed
 immediately after the control sidebar -->
<div class="control-sidebar-bg"></div>
</div><!-- ./wrapper -->

<!-- REQUIRED JS SCRIPTS -->

<!-- jQuery 2.1.3 -->
<script src="{{ asset ("/bower_components/AdminLTE/plugins/jQuery/jQuery-2.1.3.min.js") }}"></script>
<!-- Bootstrap 3.3.2 JS -->
<script src="{{ asset ("/bower_components/AdminLTE/bootstrap/js/bootstrap.min.js") }}" type="text/javascript"></script>
<!-- AdminLTE App -->
<script src="{{ asset ("/bower_components/AdminLTE/dist/js/app.min.js") }}" type="text/javascript"></script>

<!-- Optionally, you can add Slimscroll and FastClick plugins.
 Both of these plugins are recommended to enhance the
 user experience -->
</body>
</html>

在上面代碼中,我們添加了contetn,這里包含著我們的主要的內(nèi)容,增加了頁(yè)面標(biāo)題針對(duì)不同的頁(yè)面,將其重命名為dashboard.blade.php現(xiàn)在這個(gè)模板已經(jīng)可以使用了。

測(cè)試頁(yè)面

為了驗(yàn)證我們之前所做的工作,我將創(chuàng)建一個(gè)簡(jiǎn)單的頁(yè)面

1.創(chuàng)建 test.blade.php

@extends('dashboard')
@section('content')
<div class='row'>
 <div class='col-md-6'>
  <!-- Box -->
  <div class="box box-primary">
   <div class="box-header with-border">
    <h3 class="box-title">Randomly Generated Tasks</h3>
    <div class="box-tools pull-right">
     <button class="btn btn-box-tool" data-widget="collapse" data-toggle="tooltip" title="Collapse"><i class="fa fa-minus"></i></button>
     <button class="btn btn-box-tool" data-widget="remove" data-toggle="tooltip" title="Remove"><i class="fa fa-times"></i></button>
    </div>
   </div>
   <div class="box-body">
    @foreach($tasks as $task)
     <h5>
      {{ $task['name'] }}
      <small class="label label-{{$task['color']}} pull-right">{{$task['progress']}}%</small>
     </h5>
     <div class="progress progress-xxs">
      <div class="progress-bar progress-bar-{{$task['color']}}" style="width: {{$task['progress']}}%"></div>
     </div>
    @endforeach

   </div><!-- /.box-body -->
   <div class="box-footer">
    <form action='#'>
     <input type='text' placeholder='New task' class='form-control input-sm' />
    </form>
   </div><!-- /.box-footer-->
  </div><!-- /.box -->
 </div><!-- /.col -->
 <div class='col-md-6'>
  <!-- Box -->
  <div class="box box-primary">
   <div class="box-header with-border">
    <h3 class="box-title">Second Box</h3>
    <div class="box-tools pull-right">
     <button class="btn btn-box-tool" data-widget="collapse" data-toggle="tooltip" title="Collapse"><i class="fa fa-minus"></i></button>
     <button class="btn btn-box-tool" data-widget="remove" data-toggle="tooltip" title="Remove"><i class="fa fa-times"></i></button>
    </div>
   </div>
   <div class="box-body">
    A separate section to add any kind of widget. Feel free
    to explore all of AdminLTE widgets by visiting the demo page
    on <a href="https://almsaeedstudio.com">Almsaeed Studio</a>.
   </div><!-- /.box-body -->
  </div><!-- /.box -->
 </div><!-- /.col -->

</div><!-- /.row -->
@endsection


2.創(chuàng)建TestController.php

php artisan make:controller TestController --plain

下面是這個(gè)控制器的代碼部分:

 <&#63;php

  namespace App\Http\Controllers;

  use Illuminate\Http\Request;
  use App\Http\Requests;
  use App\Http\Controllers\Controller;

  class TestController extends Controller
  {
   public function index() {
   $data['tasks'] = [
     [
      'name' => 'Design New Dashboard',
      'progress' => '87',
      'color' => 'danger'
     ],
     [
      'name' => 'Create Home Page',
      'progress' => '76',
      'color' => 'warning'
     ],
     [
      'name' => 'Some Other Task',
      'progress' => '32',
      'color' => 'success'
     ],
     [
      'name' => 'Start Building Website',
      'progress' => '56',
      'color' => 'info'
     ],
     [
      'name' => 'Develop an Awesome Algorithm',
      'progress' => '10',
      'color' => 'success'
     ]
   ];
   return view('test')->with($data);
  }

 }

3.創(chuàng)建對(duì)應(yīng)的路由

 Route::get('test', 'TestController@index');

4.打開(kāi)對(duì)應(yīng)的頁(yè)面,如果你沒(méi)有出錯(cuò)的 應(yīng)該如下圖所示

2016321174155654.jpg (800×472)

您可能感興趣的文章:

  • 深入解析PHP的Laravel框架中的event事件操作
  • PHP的Laravel框架結(jié)合MySQL與Redis數(shù)據(jù)庫(kù)的使用部署
  • PHP的Laravel框架中使用消息隊(duì)列queue及異步隊(duì)列的方法
  • 詳解PHP的Laravel框架中Eloquent對(duì)象關(guān)系映射使用
  • PHP框架Laravel學(xué)習(xí)心得體會(huì)
  • 全面解讀PHP的人氣開(kāi)發(fā)框架Laravel
  • Nginx中運(yùn)行PHP框架Laravel的配置文件分享
  • PHP IDE PHPStorm配置支持友好Laravel代碼提示方法
  • 使用 PHPStorm 開(kāi)發(fā) Laravel
  • PHP開(kāi)發(fā)框架laravel安裝與配置教程
  • PHP框架Laravel的小技巧兩則

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1113726.htmlTechArticlePHP的Laravel框架中使用AdminLTE模板來(lái)編寫(xiě)網(wǎng)站后臺(tái)界面,laraveladminlte AdminLTE 是一個(gè)基于Bootstrap 3.x的免費(fèi)高級(jí)管理控制面板主題,完全響應(yīng)式...
本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門(mén)話題

如何在PHP中牢固地處理文件上傳? 如何在PHP中牢固地處理文件上傳? Jul 08, 2025 am 02:37 AM

要安全處理PHP文件上傳需驗(yàn)證來(lái)源與類(lèi)型、控製文件名與路徑、設(shè)置服務(wù)器限制並二次處理媒體文件。 1.驗(yàn)證上傳來(lái)源通過(guò)token防止CSRF並通過(guò)finfo_file檢測(cè)真實(shí)MIME類(lèi)型使用白名單控制;2.重命名文件為隨機(jī)字符串並根據(jù)檢測(cè)類(lèi)型決定擴(kuò)展名存儲(chǔ)至非Web目錄;3.PHP配置限制上傳大小及臨時(shí)目錄Nginx/Apache禁止訪問(wèn)上傳目錄;4.GD庫(kù)重新保存圖片清除潛在惡意數(shù)據(jù)。

您如何按值與PHP中的參考傳遞變量? 您如何按值與PHP中的參考傳遞變量? Jul 08, 2025 am 02:42 AM

InPHP,variablesarepassedbyvaluebydefault,meaningfunctionsorassignmentsreceiveacopyofthedata,whilepassingbyreferenceallowsmodificationstoaffecttheoriginalvariable.1.Whenpassingbyvalue,changestothecopydonotimpacttheoriginal,asshownwhenassigning$b=$aorp

PHP標(biāo)頭位置AJAX調(diào)用不起作用 PHP標(biāo)頭位置AJAX調(diào)用不起作用 Jul 10, 2025 pm 01:46 PM

AJAX請(qǐng)求中header('Location:...')無(wú)效的原因是瀏覽器不會(huì)自動(dòng)執(zhí)行頁(yè)面跳轉(zhuǎn)。因?yàn)樵贏JAX請(qǐng)求中,服務(wù)器返回的302狀態(tài)碼和Location頭信息會(huì)被作為響應(yīng)數(shù)據(jù)處理,而不是觸發(fā)跳轉(zhuǎn)行為。解決方法有:1.在PHP中返回JSON數(shù)據(jù)包含跳轉(zhuǎn)URL;2.在前端AJAX回調(diào)中檢查redirect字段並用window.location.href手動(dòng)跳轉(zhuǎn);3.確保PHP輸出僅為JSON避免解析失??;4.處理跨域問(wèn)題需設(shè)置合適的CORS頭;5.防止緩存干擾可加時(shí)間戳或設(shè)置cache:f

通過(guò)Laravel發(fā)送不同類(lèi)型的通知 通過(guò)Laravel發(fā)送不同類(lèi)型的通知 Jul 06, 2025 am 12:52 AM

laravelProvidesLeanAndFlexibleWayTosendificationsViamultiplipliplipliplikeMail,SMS,In-Appalerts,and-Appalerts,andPushNotifications.youdefineNotificationChannelsinthelsinthevia()MethodofanotificationClass,andimpecificementpecificementpecificementpecificemmethodssliketomail()

與Laravel中的樞軸表合作多對(duì)多關(guān)係 與Laravel中的樞軸表合作多對(duì)多關(guān)係 Jul 07, 2025 am 01:06 AM

toworkeffectivelywithpivottablesinlaravel,firstAccessPivotDatausingwithPivot()orwithTimestamps(),thenupdateentrieswithupdatee XistingPivot(),ManageraliationShipsviadeTach()andsync(),andusecustompivotModelSwhenNeed.1.UseWithPivot()toincludespecificcol

PHP找到了最後一次發(fā)生的位置 PHP找到了最後一次發(fā)生的位置 Jul 09, 2025 am 02:49 AM

在PHP中查找子字符串最後一次出現(xiàn)的位置,最直接的方法是使用strrpos()函數(shù)。 1.使用strrpos()函數(shù)可直接獲取子字符串在主字符串中最後一次出現(xiàn)的起始位置索引,若未找到則返回false,語(yǔ)法為strrpos($haystack,$needle,$offset=0)。 2.若需忽略大小寫(xiě),可使用strripos()函數(shù)實(shí)現(xiàn)不區(qū)分大小寫(xiě)的查找。 3.對(duì)於中文等多字節(jié)字符,應(yīng)使用mbstring擴(kuò)展中的mb_strrpos()函數(shù)以確保返回字符位置而非字節(jié)位置。 4.注意strrpos()返回f

發(fā)電機(jī)如何在PHP中工作? 發(fā)電機(jī)如何在PHP中工作? Jul 11, 2025 am 03:12 AM

AgeneratorinPHPisamemory-efficientwaytoiterateoverlargedatasetsbyyieldingvaluesoneatatimeinsteadofreturningthemallatonce.1.Generatorsusetheyieldkeywordtoproducevaluesondemand,reducingmemoryusage.2.Theyareusefulforhandlingbigloops,readinglargefiles,or

如何防止PHP中的會(huì)話劫持? 如何防止PHP中的會(huì)話劫持? Jul 11, 2025 am 03:15 AM

要防止PHP中的會(huì)話劫持,需採(cǎi)取以下措施:1.使用HTTPS加密傳輸並在php.ini中設(shè)置session.cookie_secure=1;2.設(shè)置安全Cookie屬性,包括httponly、secure和samesite;3.在用戶(hù)登錄或權(quán)限變更時(shí)調(diào)用session_regenerate_id(true)更換SessionID;4.限制Session生命週期,合理配置gc_maxlifetime並記錄用戶(hù)活動(dòng)時(shí)間;5.禁止將SessionID暴露在URL中,設(shè)置session.use_only

See all articles