Настройка работы с SB Admin в Yii2: полное руководство


Yii2 — один из самых мощных и гибких фреймворков PHP, который предоставляет разработчикам множество возможностей для создания высокоэффективных приложений. Однако, важно иметь хороший пользовательский интерфейс, чтобы обеспечить удобство работы с приложением.

SB Admin — популярная административная тема, разработанная Twitter Bootstrap. Она предоставляет множество стилей и компонентов, помогающих создать красивый и современный интерфейс для вашего проекта. В этой статье мы рассмотрим, как настроить работу с SB Admin в Yii2, чтобы ваше приложение выглядело профессионально и было легко в использовании.

Первым шагом является загрузка SB Admin из официального репозитория на GitHub. Вы можете скачать его в виде zip-архива или использовать Git для клонирования репозитория. После этого вам потребуется скопировать файлы темы в папку вашего проекта.

После того, как файлы SB Admin находятся в папке вашего проекта, вы можете приступить к настройке интеграции с Yii2. Для этого вам потребуется создать новый макет (layout) или изменить уже существующий. Вы можете воспользоваться генератором gii, чтобы создать макет автоматически, или создать его вручную.

Настройка работы

После установки SB Admin в Yii2 необходимо выполнить несколько шагов для правильной настройки его работы.

  • Скопируйте содержимое папки «assets» из папки SB Admin в папку «web» вашего Yii2 приложения.
  • Откройте файл «views/layouts/main.php» вашего Yii2 приложения и добавьте следующий код в секцию «head»:
<link href="<?= Yii::$app->request->baseUrl ?>/assets/vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css"><link href="<?= Yii::$app->request->baseUrl ?>/assets/css/sb-admin-2.min.css" rel="stylesheet">
  • Затем, в той же секции «head», добавьте следующий код для подключения скриптов:
<script src="<?= Yii::$app->request->baseUrl ?>/assets/vendor/jquery/jquery.min.js"></script><script src="<?= Yii::$app->request->baseUrl ?>/assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script><script src="<?= Yii::$app->request->baseUrl ?>/assets/vendor/jquery-easing/jquery.easing.min.js"></script><script src="<?= Yii::$app->request->baseUrl ?>/assets/js/sb-admin-2.min.js"></script>
  • Теперь вы можете использовать различные элементы и стили SB Admin в вашем Yii2 приложении. Например, для создания бокового меню вы можете использовать следующий код:
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar"><!-- Nav Item - Dashboard --><li class="nav-item"><a class="nav-link" href="#"><i class="fas fa-fw fa-tachometer-alt"></i><span>Dashboard</span></a></li><!-- ... --></ul>

Следуя этим простым инструкциям, вы сможете настроить работу SB Admin в Yii2 и использовать его функционал для создания профессионального интерфейса пользователя в вашем приложении.

Установка и настройка SB Admin

Для установки и настройки SB Admin в Yii2 выполните следующие шаги:

  1. Установите пакет с помощью Composer, выполнив команду:
composer require startbootstrap/sb-admin
  1. Подключите стили и скрипты SB Admin в вашем шаблоне Yii2:
<link href="https://cdn.startbootstrap.com/sb-admin/2.0.4/css/sb-admin.css" rel="stylesheet">
<script src="https://cdn.startbootstrap.com/sb-admin/2.0.4/js/sb-admin.js"></script>
  1. Создайте основной макет вашего административного интерфейса, используя разметку SB Admin. Вставьте следующий код в ваш шаблон Yii2:
<nav class="navbar navbar-expand navbar-dark bg-dark static-top">
<a class="navbar-brand mr-1" href="index.html">SB Admin</a>
<button class="btn btn-link btn-sm text-white order-1 order-sm-0" id="sidebarToggle" href="#"><i class="fas fa-bars"></i></button>
</nav>
<div id="wrapper">
<ul class="sidebar navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="index.html">
<i class="fas fa-fw fa-tachometer-alt"></i>
<span>Dashboard</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="charts.html">
<i class="fas fa-fw fa-chart-area"></i>
<span>Charts</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="tables.html">
<i class="fas fa-fw fa-table"></i>
<span>Tables</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="forms.html">
<i class="fas fa-fw fa-edit"></i>
<span>Forms</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="bootstrap-elements.html">
<i class="fas fa-fw fa-cog"></i>
<span>Bootstrap Elements</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="bootstrap-grid.html">
<i class="fas fa-fw fa-wrench"></i>
<span>Bootstrap Grid</span></a>
</li>
</ul>
<div id="content-wrapper">
<div class="container-fluid">
<h1 class="mt-4">Dashboard</h1>
<p>This is the dashboard page.</p>
</div>
</div>
</div>

Теперь вы можете использовать стили и компоненты SB Admin в вашем административном интерфейсе Yii2!

Создание основного макета

При работе с SB Admin в Yii2, для создания основного макета необходимо выполнить несколько шагов:

  1. В папке views/layouts создайте новый файл с именем main.php.
  2. Откройте созданный файл и вставьте следующий код:
<?phpuse yii\helpers\Html;use yii\bootstrap\Nav;use yii\bootstrap\NavBar;use yii\widgets\Breadcrumbs;use app\assets\AppAsset;/* @var $this \yii\web\View *//* @var $content string */AppAsset::register($this);?><?php $this->beginPage() ?><!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><?php $this->registerCsrfMetaTags() ?><title><?= Html::encode($this->title) ?></title><?php $this->head() ?></head><body class="sb-nav-fixed"><?php $this->beginBody() ?><?phpNavBar::begin(['brandLabel' => 'Yii2 SB Admin','brandUrl' => Yii::$app->homeUrl,'options' => ['class' => 'navbar navbar-expand-lg navbar-dark bg-dark fixed-top',],]);echo Nav::widget(['options' => ['class' => 'navbar-nav'],'items' => [['label' => 'Home', 'url' => ['/site/index']],['label' => 'About', 'url' => ['/site/about']],['label' => 'Contact', 'url' => ['/site/contact']],],]);NavBar::end();?><div id="layoutSidenav"><div id="layoutSidenav_nav"><nav class="sb-sidenav accordion sb-sidenav-dark" id="sidenavAccordion"><div class="sb-sidenav-menu"><div class="nav"><a class="nav-link" href=""><div class="sb-nav-link-icon"><i class="fas fa-tachometer-alt"></i></div>Dashboard</a><div class="sb-sidenav-menu-heading">Interface</div><a class="nav-link" href=""><div class="sb-nav-link-icon"><i class="fas fa-table"></i></div>Tables</a><a class="nav-link" href=""><div class="sb-nav-link-icon"><i class="fas fa-chart-bar"></i></div>Charts</a></div></div><div class="sb-sidenav-footer"><div class="small">Logged in as:</div>Start Bootstrap</div></nav></div><div id="layoutSidenav_content"><main><div class="container-fluid"><?=Breadcrumbs::widget(['links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [],])?><?= $content ?></div></main><footer class="py-4 bg-light mt-auto"><div class="container-fluid"><div class="d-flex align-items-center justify-content-between small"><div class="text-muted">Powered by <?php echo Yii::powered(); ?></div><div><a href="https://startbootstrap.com/template/sb-admin" target="_blank">SB Admin</a><span>&copy; Start Bootstrap 2020</span></div></div></div></footer></div></div><?php $this->endBody() ?></body></html><?php $this->endPage() ?>

В данном макете используется главное меню, боковое меню навигации и область контента. Вы можете изменить ссылки и возможно добавить или удалить некоторые пункты меню в соответствии с вашими требованиями.

Настройка меню и навигации

В основе SB Admin лежит расширение Yii2 — yii2-adminlte3, которое предоставляет готовые виджеты для работы с меню.

Для настройки меню необходимо отредактировать файл main.php, который находится в директории config вашего проекта.

В файле main.php вы можете определить основное меню и подменю, используя массивы:

'menuItems' => [['label' => 'Главная', 'url' => ['/site/index']],['label' => 'Контакты', 'url' => ['/site/contact']],['label' => 'Статьи','items' => [['label' => 'Добавить статью', 'url' => ['/article/create']],['label' => 'Список статей', 'url' => ['/article/index']],],],],

В приведенном примере определено основное меню с пунктами «Главная» и «Контакты», а также подменю «Статьи» с пунктами «Добавить статью» и «Список статей». Вы можете определить сколько угодно пунктов меню и подменю в соответствии с вашими потребностями.

Кроме того, вы можете задать различные атрибуты для каждого пункта меню, такие как классы CSS, иконки и т.д.:

['label' => 'Главная', 'url' => ['/site/index'], 'icon' => 'fa fa-home', 'options' => ['class' => 'custom-class']],

В данном примере определен пункт меню «Главная» с классом CSS «custom-class» и иконкой «fa fa-home».

После того, как вы определили свое меню, вам необходимо вывести его на странице. Для этого добавьте в ваш шаблон следующий код:

<?phpNavBar::begin(['options' => ['class' => 'navbar navbar-expand-lg bg-dark navbar-light',],]);echo Nav::widget(['items' => $menuItems,'options' => ['class' => 'navbar-nav'],'encodeLabels' => false,]);NavBar::end();?>

Теперь при открытии вашего административного интерфейса, вы увидите настроенное вами меню и сможете легко навигироваться по разделам вашего проекта.

Добавление страниц и модулей

Работа с административной панелью SB Admin в Yii2 позволяет легко добавлять новые страницы и модули.

Для добавления новой страницы необходимо создать новый контроллер в папке controllers и добавить в него действия. Каждое действие будет представлять собой отдельную страницу в административной панели.

Например, чтобы добавить страницу «Список пользователей», нужно создать контроллер UserController и добавить в него действие actionIndex. В этом действии можно будет выполнить необходимые запросы к базе данных и отобразить списки пользователей.

После создания контроллера и добавления действия необходимо настроить маршруты, чтобы URL, соответствующий странице, вел на соответствующее действие.

По умолчанию в Yii2 маршруты настраиваются в файле config/web.php. Нужно добавить маршрут для новой страницы в массив rules в секции urlManager. Например, для страницы «Список пользователей» маршрут может выглядеть так:

‘user’ => ‘user/index’,

Теперь страница доступна по адресу /user.

Чтобы добавить новый модуль, необходимо создать новую папку в папке modules и добавить в нее контроллеры и представления. Каждый контроллер будет представлять собой отдельный модуль в административной панели.

Например, чтобы добавить модуль «Настройки», нужно создать папку settings в папке modules и добавить в нее контроллеры и представления, связанные с настройками приложения. Каждый контроллер должен быть назван соответствующим образом, например, SettingsController.

После создания модуля нужно настроить маршруты, чтобы URL, соответствующий модулю, вел на соответствующий контроллер.

Маршруты для модулей настраиваются аналогично маршрутам для страниц, только в массиве rules в секции urlManager нужно добавлять префикс пути к модулю. Например, для модуля «Настройки» маршрут может выглядеть так:

‘settings’ => ‘settings/default/index’,

Теперь модуль доступен по адресу /settings.

Работа с видами

Для начала создадим новый вид, который будет отображать данные о пользователях в таблице. Для этого создадим новую директорию views/user в директории представлений нашего приложения и внутри нее создадим файл index.php.

Откроем файл views/user/index.php и добавим в него следующий код:

<?phpuse yii\helpers\Html;use yii\grid\GridView;$this->title = 'Список пользователей';$this->params['breadcrumbs'][] = $this->title;?><div class="user-index"><h1><?= Html::encode($this->title) ?></h1><p><?= Html::a('Добавить пользователя', ['create'], ['class' => 'btn btn-success']) ?></p><?= GridView::widget(['dataProvider' => $dataProvider,'columns' => [['class' => 'yii\grid\SerialColumn'],'id','username','email:email','created_at:datetime',['class' => 'yii\grid\ActionColumn'],],]); ?></div>

В этом коде мы используем классы Yii2 для генерации HTML-кода таблицы, включая кнопки действий (редактирование, удаление и пр.). Мы также добавляем ссылку на создание нового пользователя с помощью метода Html::a().

Теперь, если мы откроем страницу user/index в нашем приложении, мы увидим таблицу со списком пользователей, которую можно отсортировать, отфильтровать и обрабатывать другими специальными функциями Yii2.

Мы можем добавить ссылку на эту страницу в меню слева, чтобы пользователь мог легко найти и открыть эту страницу из любой части приложения. Для этого откроем файл views/layouts/main.php и найдем код, отвечающий за создание меню:

<ul class="sidebar-menu"><li class="header">МЕНЮ</li><li class="active"><a href="/site/index"><i class="fa fa-dashboard"> <span>Панель управления</span></a></li><li class="treeview"><a href="#"><i class="fa fa-files-o"> <span>Примеры</span><i class="fa fa-angle-left pull-right"></a><ul class="treeview-menu"><li><a href="/user/index"><i class="fa fa-circle-o"> Пользователи</a></li><li><a href="/example2"><i class="fa fa-circle-o"> Пример 2</a></li></ul></li></ul>

Мы добавляем ссылку на страницу пользователей, используя путь /user/index. Вы также можете указать другой путь, если у вас другая конфигурация URL.

После сохранения изменений вы должны увидеть ссылку на страницу пользователей в меню слева при открытии панели управления.

Теперь вы знаете, как настроить виды в Yii2 и как добавить ссылку на страницу в место вашего приложения.

Использование Bootstrap компонентов

SB Admin предоставляет множество встроенных Bootstrap компонентов, которые могут быть использованы в вашем проекте Yii2.

  • Формы: Используя классы форм Bootstrap, вы можете создавать красивые и отзывчивые формы для ввода данных в вашем проекте. Примеры форм включают в себя текстовые поля, поля ввода пароля, списки выбора, флажки и радиокнопки.
  • Навигация: SB Admin предлагает различные стили навигации, такие как меню навигации, табы и пагинация. Эти компоненты помогут вам создать функциональную навигацию в вашем приложении.
  • Кнопки: Вы можете использовать стилизованные кнопки Bootstrap для добавления интерактивности и действий в вашем проекте.
  • Таблицы: SB Admin предоставляет разные стили таблиц, которые помогут вам представлять данные в удобном и читаемом формате.
  • Алерты и оповещения: С помощью Bootstrap компонентов вы можете создавать алерты и оповещения, чтобы сообщать пользователям о различных событиях и действиях.
  • Иконки: SB Admin включает в себя набор иконок Bootstrap, которые могут быть использованы для улучшения визуальных элементов вашего проекта.

Используя эти компоненты Bootstrap, вы можете создать профессионально выглядящий и отзывчивый интерфейс пользователя в вашем проекте Yii2, улучшая визуальное впечатление и функциональность вашего проекта.

Настройка стилей и шаблонов

При работе с SB Admin в Yii2, есть возможность полностью настроить стили и шаблоны административной панели. Для этого необходимо внести изменения в соответствующие файлы. Важно помнить, что эти изменения могут повлиять на внешний вид и функциональность приложения.

Для настройки стилей необходимо изменять файлы CSS. В папке assets можно найти файлы с расширением .css, отвечающие за стилизацию различных элементов интерфейса. Редактирование данных файлов позволит настроить цвета, шрифты, отступы и другие атрибуты элементов.

Что касается настройки шаблонов, здесь есть два варианта. Первый вариант — изменение файла main-layout.php, который отвечает за общий шаблон административной панели. В этом файле можно настроить заголовок, логотип и другие детали, а также добавить или удалить блоки с нужной информацией.

Второй вариант — создать дополнительные файлы шаблонов для конкретных страниц. Для этого необходимо создать новый файл-шаблон и добавить соответствующие настройки в контроллере или в файле конфигурации приложения. В таких файлах можно настроить отображение определенных блоков, установить различные параметры и добавить нужный контент.

Необходимо помнить, что внося изменения в стили и шаблоны, необходимо тщательно тестировать их во всех браузерах и разрешениях экрана, чтобы удостовериться, что все элементы отображаются корректно и работают должным образом.

Добавить комментарий

Вам также может понравиться