AdminLTE v2.4.xからv3.0に移行する最初のステップは、Bootstrap 3のベースコードをBootstrap 4にアップグレードすることです。完全な手順はこちらです。ベースコードをアップグレードした後、マークアップを更新する必要があります。
AdminLTE v3.0以降、Bootstrap 4はAdminLTEのCSSファイルに完全に含まれています。Bootstrap CSSファイルbootstrap(.min).cssを読み込む必要はありませんが、Bootstrap JSファイルbootstrap(.min).jsは必要です。
メインヘッダーの最大の変更点は、ロゴがメインサイドバーに移動され、メインヘッダーにカラーバリエーションが追加されたことです。以下はすべての変更点です。
<a href="index2.html" class="logo"> が移動し、.main-sidebar 内の .brand-link に再構築されました。<header class="main-header"> と <nav class="navbar navbar-static-top"> が <nav class="main-header navbar navbar-expand navbar-white navbar-light"> に統合されました。<a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button"><span class="sr-only">Toggle navigation</span></a> が <ul class="navbar-nav"><li class="nav-item"><a class="nav-link" data-widget="pushmenu" href="#"><i class="fas fa-bars"></i></a></li></ul> に置き換えられました。<div class="navbar-custom-menu"> と <ul class="nav navbar-nav"> が <ul class="navbar-nav ml-auto"> に統合されました。上記のように、最大の変更点は、メインサイドバーにロゴが含まれるようになり、サイドバーにカラーバリエーションが追加されたことです。以下はすべての変更点です。
<aside class="main-sidebar"> が <aside class="main-sidebar sidebar-dark-primary"> に置き換えられました。<a href="index3.html" class="brand-link"><img src="dist/img/AdminLTELogo.png" alt="AdminLTE Logo" class="brand-image img-circle elevation-3" style="opacity: .8"><span class="brand-text font-weight-light">AdminLTE 3</span></a> が古いロゴを置き換えます。<section class="sidebar"> が <div class="sidebar"> に置き換えられました。<div class="user-panel">...</div> が <div class="user-panel mt-3 pb-3 mb-3 d-flex">...</div> に置き換えられました。(省略部分は、英語原文を参照ください)
<nav class="mt-2"> が <ul class="sidebar-menu" data-widget="tree"> を囲むようになりました。<ul class="sidebar-menu" data-widget="tree"> が <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu"> に置き換えられました。<li class="header"> が <li class="nav-header"> に置き換えられました。<li> に新しいクラス .nav-item が必要です。<li> <a> に新しいクラス .nav-link が必要です。<li> <a> <i> に新しいクラス .nav-icon が必要です。<li> <a> <span> が <p> に置き換えられました。<span class="pull-right-container"> が削除されました。<i class="fa fa-angle-left pull-right"></i> が <i class="right fas fa-angle-left"></i> に置き換えられました。<small class="label pull-right bg-green">new</small> が <span class="right badge badge-danger">New</span> に置き換えられました。<li> <ul class="treeview-menu"> が <ul class="nav nav-treeview"> に置き換えられました。古いサンプルエントリ
<li>
<a href="pages/widgets.html">
<i class="fa fa-th"></i> <span>Widgets</span>
<span class="pull-right-container">
<small class="label pull-right bg-green">new</small>
</span>
</a>
</li>
新しいサンプルエントリ
<li class="nav-item">
<a href="pages/widgets.html" class="nav-link">
<i class="nav-icon fas fa-th"></i>
<p>
Widgets
<span class="right badge badge-danger">New</span>
</p>
</a>
</li>
古いサンプルエントリ(ツリーメニュー付き)
<li class="treeview">
<a href="#">
<i class="fa fa-dashboard"></i> <span>Dashboard</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<li class="active"><a href="index.html">
<i class="fa fa-circle-o"></i> Dashboard v1</a>
</li>
</ul>
</li>
新しいサンプルエントリ(ツリーメニュー付き)
<li class="nav-item">
<a href="#" class="nav-link">
<i class="nav-icon fas fa-tachometer-alt"></i>
<p>
Dashboard
<i class="right fas fa-angle-left"></i>
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="index.html" class="nav-link active">
<i class="far fa-circle nav-icon"></i>
<p>Dashboard v1</p>
</a>
</li>
</ul>
</li>
コンテンツヘッダーの最大の変更点は、AdminLTEがここで.container-fluid、.row、.col-*を使用するようになったこと、そしてパンくずリストのマークアップが変更されたことです。以下はすべての変更点です。
<section class="content-header"> が <div class="content-header"> に置き換えられました。<div class="container-fluid"> が <div class="content-header"> 内に追加されました。<h1> と <ol class="breadcrumb"> が <div class="row"> と <div class="col-sm-6"> 内に再構築されました。<h1> が <h1 class="m-0 text-dark"> に置き換えられました。<ol class="breadcrumb"> に新しいクラス .float-sm-right が必要です。<ol class="breadcrumb"> <li> に新しいクラス .breadcrumb-item が必要です。古いコンテンツヘッダーのマークアップ
<section class="content-header">
<h1>
Dashboard
<small>Control panel</small>
</h1>
<ol class="breadcrumb">
<li><a href="#"><i class="fa fa-dashboard"></i> Home</a></li>
<li class="active">Dashboard</li>
</ol>
</section>
新しいコンテンツヘッダーのマークアップ
<div class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h1 class="m-0 text-dark">
Dashboard
<small>Control panel</small>
</h1>
</div>
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item active">Dashboard v1</li>
</ol>
</div>
</div>
</div>
</div>
コンテンツに変更はありません。<section class="content container-fluid"> を2つの要素に分割しただけです。
<section class="content"><div class="container-fluid">フッターには、右側divに小さな変更が1つだけあります。
<div class="pull-right hidden-xs"> が <div class="float-right d-none d-sm-inline"> に変更されました。v3.0以降のその他の小さなcss/htmlの変更点を以下に示します。
.label が .badge に名前変更されました。v3.0以降のその他の小さなJavaScriptの変更点を以下に示します。
data-toggle="*" が data-widget="*" に名前変更されました。data-card-widget="*" になりました。