Skip to main content

blocs/admin: パッケージ概要とインストール手順

blocs/admin: パッケージ概要とインストール手順

blocs/admin は、Laravelベースの管理画面を効率的に構築するための開発支援パッケージです。JSON定義ファイルから管理画面を自動生成し、テンプレート編集のみでカスタマイズできます。このドキュメントでは、パッケージの全体像とインストール手順を説明します。

パッケージの特徴

MVC構成の利用方法

導入時に含まれる標準の管理画面

インストール後、以下の画面がすぐに利用できます。

インストール手順

1. PHP と Composer をセットアップ

PHP 8.3 以上と Composer が必要です。

2. Composer で Laravel をインストール

composer create-project laravel/laravel laravel-admin
cd laravel-admin

3. Composer で Admin Package をインストール

composer require blocs/admin

4. 管理画面パッケージのセットアップ

php artisan blocs:install

blocs/blocs は Step 3 の composer require blocs/admin で依存関係として自動インストールされます。このコマンドでは、管理画面に必要なファイル(テンプレート、設定ファイル、ルーティングなど)の publish、マイグレーション、初期データ投入(初期 ID/Pass: admin/admin)が行われます。

管理画面の追加ワークフロー

新たに管理画面を追加する場合は、以下の流れで作業を進めます。

  1. 自動生成ツールによる自動生成: JSON定義ファイルを作成し、Artisanコマンドで管理画面を自動生成(詳しくは No.3.1 を参照)
  2. 自動生成した管理画面のカスタマイズ: テンプレートを要件に合わせて編集し、コントローラーに処理を追加
  3. アクセス権限とサイドメニューの設定: config/role.php でアクセス権限、config/menu.php でサイドメニューを設定(詳しくは No.3.3 / No.3.4 / No.4.4 を参照)

ルート情報・バリデーション情報・データベース定義の出力

ルート一覧、バリデーション一覧、データベース定義一覧をXML形式でダウンロードするには、routes/admin.php 内の該当ルートのコメントアウトを解除します。

/*
Route::get('/route', function () {
  ...
});

Route::get('/validate', function () {
  ...
});

Route::get('/database', function () {
  ...
});
*/

コメント解除後、以下のURLで一覧情報を取得できます。

一覧 URL
ルート一覧 /route
バリデーション一覧 /validate
データベース定義一覧 /database

blocs:install で行われる主な処理

処理 内容
vendor:publish app / config / database / public / resources / routes / docs / tests をプロジェクトへ配置
migrate データベースマイグレーション実行
db:seed AdminSeeder による初期ユーザー登録(admin/admin)
route:cache ルートキャッシュ再生成

配置後、管理画面ルートは routes/admin.php から読み込まれます。

プロフィール画面と UserUpdateTrait

標準のプロフィール設定画面(ProfileController)は、ユーザー管理と同じ User モデルを使います。パスワード変更時の旧パスワード確認など、ユーザー管理固有の更新ロジックは UserUpdateTrait に分離されています。カスタマイズの参考にしてください。

ナレッジ目次

No タイトル
1. 概要・アーキテクチャ
1.1 blocs/admin: パッケージ概要とインストール手順(本記事)
1.2 Laravel + BLOCS: 処理フローとアーキテクチャ概要
2. blocs/blocs テンプレートエンジン
2.1 テンプレートエンジン概要とデータ属性一覧
2.2 変数の表示(data-val)とメニュー項目の自動変換
2.3 変数の代入(data-assign)と属性値の置換(data-attribute)
2.4 条件分岐(data-exist/none/if/unless)
2.5 繰り返し処理(data-loop)
2.6 テンプレートの再利用(data-include / data-bloc)
2.7 表示の装飾(data-prefix/postfix)と変換(data-convert)
2.8 入力値フィルター(data-filter)
2.9 多言語対応(data-lang)
2.10 バリデーション条件の指定
2.11 カスタムバリデーションルールの作成
2.12 Auto Include(テンプレート・UIの自動読み込み)
2.13 入力インターフェース(ai-* クラス)
2.14 エラーコード一覧
3. blocs/admin 自動生成・設定
3.1 定義ファイルの作成と管理画面の自動生成
3.2 自動生成後の不要機能の無効化
3.3 アクセス権限の設定
3.4 サイドメニューの設定
4. blocs/admin 画面カスタマイズ
4.1 一覧表示機能のカスタマイズ
4.2 新規作成・編集機能のカスタマイズ
4.3 削除機能のカスタマイズ
4.4 共通レイアウト・ボタン配置・見出し・ログ・リダイレクト
5. blocs/admin 機能拡張・UI
5.1 ヘルパー関数
5.2 動的メニュー項目の追加(addOption)
5.3 ボタンコンポーネント
5.4 モーダルコンポーネント
5.5 ファイルアップロード機能
5.6 レコードのコピーと並び替え
5.7 グラフ表示(Chart.js)
5.8 テーブルタイプの入力画面
5.9 複数ログイン画面の追加
6. blocs/docs
6.1 処理機能記述書の自動生成(docsミドルウェア)
6.2 Excelファイル操作(Blocs\Excel)