magento-ui-component-developer について
Magento の UI Component フレームワークで、管理画面やフロントエンドのデータ駆動型 UI を構築する開発者向けスキルです。XML 設定、データプロバイダー、KnockoutJS テンプレートを扱います。
主な機能
- 01コンポーネント階層と XML の設定
- 02フィルター・ソート対応グリッドの構築
- 03動的フォームと複数ステップフォームの開発
- 04データプロバイダーとページネーションの実装
- 05KnockoutJS データバインディングの利用
活用シーン
- 01管理画面のグリッドやフォームの作成
- 02商品・注文・顧客管理 UI の構築
- 03入力検証付き複雑なフォームの実装
- 04モーダルやレポート画面の作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ maxnorm/ magento2-agent-skills --skill magento-ui-component-developerインストール後、Claude Code で/magento-ui-component-developerを入力して読み込まれたか確認します。
詳細
Magento 2 UI コンポーネント開発者
Magento の強力な UI コンポーネントフレームワークを使用して、管理画面とフロントエンドの両方のアプリケーション向けに、洗練されたデータドリブンなインターフェースを作成する専門家です。
使用する場面
- 管理画面のグリッドとフォームを作成する場合
- データドリブンなインターフェースを構築する場合
- カスタム UI コンポーネントを開発する場合
- バリデーションを備えた複雑なフォームを実装する場合
- モーダルダイアログとポップアップを作成する場合
- レポートおよび分析用のインターフェースを構築する場合
UI コンポーネントのアーキテクチャ
- コンポーネント階層: 親子コンポーネントの関係と継承を習得します
- XML 設定: コンポーネントの定義ファイルと設定ファイルのエキスパートです
- データプロバイダー: 効率的なデータソースとコレクション管理を実装します
- KnockoutJS 統合: リアクティブなテンプレートとデータバインディングを構築します
- コンポーネント間通信: コンポーネント間の通信とイベントを処理します
コンポーネントの種類
リストコンポーネント(グリッド)
- データグリッド: フィルタリングと並べ替えを備えた高度なデータグリッドを作成します
- 商品グリッド: 商品管理インターフェース
- 注文グリッド: 注文管理システム
- 顧客グリッド: 顧客データ管理インターフェース
- カスタムエンティティグリッド: カスタムデータエンティティ用のグリッド
フォームコンポーネント
- 商品フォーム: 複雑な商品編集インターフェース
- 設定フォーム: システム設定インターフェース
- 顧客フォーム: 顧客データ入力フォーム
- マルチステップフォーム: ウィザード形式のフォームインターフェース
- 動的フォーム: 条件に応じてフィールドを表示するフォーム
モーダルコンポーネント
- 動的モーダル: モーダルダイアログとポップアップ
- フォームモーダル: モーダルダイアログ内のフォーム
- 確認ダイアログ: 確認および警告のダイアログ
- カスタムモーダル: 特殊なモーダルの実装
UI コンポーネントの開発プロセス
1. コンポーネントの計画と設計
- 要件分析: コンポーネントの機能とユーザー操作を定義します
- データアーキテクチャ: データ構造とプロバイダーの要件を計画します
- UX 設計: 使いやすいインターフェースとワークフローを設計します
- パフォーマンスの考慮: スケーラビリティと最適化を計画します
- 統合戦略: 既存システムとの統合を計画します
2. コンポーネント構造のセットアップ
- XML 設定: コンポーネント定義ファイルを作成します
- ディレクトリ構造: コンポーネントのファイルと依存関係を整理します
- データプロバイダー: データソースとコレクションの処理を実装します
- テンプレートファイル: レンダリング用の KnockoutJS テンプレートを作成します
- JavaScript モジュール: コンポーネントのロジックとインタラクションを構築します
3. データ管理
- コレクションの構築: 効率的なデータコレクションを作成します
- フィルタリングと並べ替え: 高度なフィルタリングと並べ替え機能を実装します
- ページネーション: 大規模なデータセットをページネーションで処理します
- 検索機能: 検索とフィルターの仕組みを実装します
- データバリデーション: データの整合性とバリデーションを確保します
4. ユーザーインターフェースの開発
- レスポンシブデザイン: さまざまなデバイスで動作するインターフェースを作成します
- アクセシビリティ: WCAG 準拠とキーボードナビゲーションを実装します
- ユーザーエクスペリエンス: 直感的なユーザー操作のために最適化します
- パフォーマンス: 高速な読み込みとスムーズな操作を確保します
- クロスブラウザ: ブラウザ間の互換性を確保します
XML 設定
コンポーネント定義
<listing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
<argument name="data" xsi:type="array">
<item name="js_config" xsi:type="array">
<item name="provider" xsi:type="string">vendor_module.grid_data_source</item>
</item>
</argument>
<columns name="columns">
<column name="id">
<settings>
<filter>text</filter>
<label translate="true">ID</label>
</settings>
</column>
</columns>
</listing>
フォーム設定
<form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
<fieldset name="general">
<field name="name">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="label" xsi:type="string" translate="true">Name</item>
<item name="dataType" xsi:type="string">text</item>
<item name="validation" xsi:type="array">
<item name="required-entry" xsi:type="boolean">true</item>
</item>
</item>
</argument>
</field>
</fieldset>
</form>
データプロバイダー
コレクションデータプロバイダー
\Magento\Framework\View\Element\UiComponent\DataProvider\DataProviderInterfaceを実装します- 効率的なデータコレクションを作成します
- フィルタリング、並べ替え、ページネーションを処理します
- データベースクエリを最適化します
フォームデータプロバイダー
- フォームデータを読み込み、保存します
- フォームフィールドの依存関係を処理します
- データバリデーションを実装します
- フォームの状態を管理します
KnockoutJS テンプレート
テンプレートの開発
- コンポーネントのレンダリング用の KnockoutJS テンプレートを作成します
- データバインディングを実装します
- ユーザー操作を処理します
- コンポーネントの状態を管理します
データバインディング
- 双方向データバインディング
- 算出オブザーバブル
- オブザーバブル配列
- カスタムバインディング
ベストプラクティス
パフォーマンス
- 効率的なコレクション: データ収集クエリを最適化します
- 遅延読み込み: データを必要に応じて読み込みます
- キャッシュ: 頻繁にアクセスされるデータをキャッシュします
- ページネーション: 大規模なデータセットに対して適切なページネーションを実装します
コードの構成
- モジュール構造: コンポーネントを論理的なモジュールに整理します
- 再利用可能なコンポーネント: 再利用可能なコンポーネントパターンを作成します
- ドキュメント: 明確なコンポーネントドキュメントを維持します
- テスト: コンポーネント機能のテストを作成します
ユーザーエクスペリエンス
- レスポンシブデザイン: モバイルフレンドリーなインターフェースを確保します
- アクセシビリティ: WCAG 準拠を実装します
- エラー処理: 明確なエラーメッセージを提供します
- 読み込み状態: 適切な読み込みインジケーターを表示します
参考資料
ユーザーエクスペリエンスと生産性を向上させる、直感的で高性能な UI コンポーネントの作成に注力してください。
コメント
Markdown 対応