hyva-cms-components-dump について
Magento 2 プロジェクト内の Hyvä CMS コンポーネントを、稼働中のモジュール間で統合して一覧化するスキルです。プロジェクトの有効状態、プラグイン、上書きを反映するため、Magento CLI を優先します。
主な機能
- 01有効な CMS コンポーネントの一覧表示
- 02無効なコンポーネントの一覧表示
- 03モジュール間の定義統合
- 04旧バージョン環境でのスクリプト利用
- 05コンポーネント定義の JSON 出力
活用シーン
- 01CMS エディターで利用可能なコンポーネントの確認
- 02作成後のコンポーネント登録検証
- 03モジュール間のコンポーネント名の競合調査
- 04ドキュメント用のコンポーネント定義出力
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ hyva-themes/ hyva-ai-tools --skill hyva-cms-components-dumpインストール後、Claude Code で/hyva-cms-components-dumpを入力して読み込まれたか確認します。
同梱ファイルscripts/dump_cms_components.php
詳細
Hyvä CMS コンポーネントのダンプ
Magento 2 プロジェクトで利用できる Hyvä CMS コンポーネントを、アクティブなモジュール間でマージして一覧表示します。
コマンドの実行: hyva-exec-shell-cmd スキルを使用して環境を検出し、コマンドラッパーを特定してください。以下のすべてのコマンドは、Magento プロジェクトのルートから実行します。
ステップ 1:bin/magento CLI コマンドを優先する
最新の Hyvä CMS には、現在のプロジェクトに正確なコンポーネント一覧(有効状態、プラグイン、オーバーライドを反映)を出力するコンソールコマンドが用意されています。これらを優先してください。
利用可能かどうかを一度確認してから、存在するコマンドを使用してください。
# via the detected wrapper, e.g. warden env exec -T php-fpm bash -c "bin/magento list hyva:cms"
bin/magento list hyva:cms
bin/magento hyva:cms:describe-components— 有効な CMS コンポーネントの詳細を表示しますbin/magento hyva:cms:list-disabled-components— 無効な CMS コンポーネントを一覧表示します
これらは標準の bin/magento ラッパー(プロジェクトの開発コンテナ内)を通じて実行されます。バンドルされたスクリプトもホスト側の PHP も必要ありません。
ステップ 2:フォールバック — バンドルされたダンプスクリプト
hyva:cms:* コマンドを利用できない場合(古い Hyvä CMS の場合)は、バンドルされた scripts/dump_cms_components.php を使用してください。このスクリプトは app/etc/config.php を require するため、PHP インタープリターが必要です。hyva-exec-shell-cmd スキルの「環境内でバンドルされたスキルスクリプトを実行する」に記載されたパターンに従い、たとえば次のように、スクリプトを標準入力経由でインタープリターに渡して実行してください。
# via the detected wrapper, working directory = project root
cat <skill_path>/scripts/dump_cms_components.php | warden env exec -T php-fpm bash -c "php /dev/stdin"
標準出力を取得します。このスクリプトは getcwd() を使って Magento ルートを特定するため、一時ファイル、マウント、クリーンアップは必要ありません。
出力形式: マージされたすべての CMS コンポーネント定義を含む、単一の JSON オブジェクトです。
フォールバックスクリプトの仕組み
- モジュール設定を読み込みます —
app/etc/config.phpからモジュールの順序付きリストを取得します - アクティブなモジュールをフィルタリングします — 値が
1のモジュールのみを含めます(無効なモジュールはスキップします) - components.json ファイルを検索します — 次の場所を対象にします
app/code/{Vendor}/{Module}/etc/hyva_cms/components.jsonvendor/{vendor-name}/{package-name}/*/etc/hyva_cms/components.json
- パスをモジュール名に対応付けます — 各モジュールの
etc/module.xmlを読み取ります - JSON オブジェクトをマージします —
config.phpで宣言されたモジュールの読み込み順にマージします - 結果を出力します — 整形済み JSON として出力します
モジュールの読み込み順
コンポーネントは、app/etc/config.php に記載されているモジュールの順序どおりにマージされます。後続のモジュールは、同じコンポーネントキーを使って先行するモジュールのコンポーネントをオーバーライドできます。
出力例
{
"text_block": {
"label": "Text Block",
"category": "Content",
"template": "Hyva_CmsBase::elements/text-block.phtml",
...
},
"feature_card": {
"label": "Feature Card",
"category": "Elements",
"template": "Custom_Module::elements/feature-card.phtml",
...
}
}
他のスキルとの連携
このスキルは、次の用途に使用できます。
- CMS エディターで利用できるコンポーネントをデバッグする
- 新しいコンポーネントを作成した後、コンポーネントの登録を確認する
- モジュール間のコンポーネント名の競合を確認する
- ドキュメント用にコンポーネント定義をエクスポートする