mcpField
H
hyva-cms-components-dump

hyva-cms-components-dump

github.com/hyva-themes開発85747 回インストール13 週間前に更新
リポジトリ

hyva-cms-components-dump について

Magento 2 プロジェクト内の Hyvä CMS コンポーネントを、稼働中のモジュール間で統合して一覧化するスキルです。プロジェクトの有効状態、プラグイン、上書きを反映するため、Magento CLI を優先します。

主な機能

  1. 01有効な CMS コンポーネントの一覧表示
  2. 02無効なコンポーネントの一覧表示
  3. 03モジュール間の定義統合
  4. 04旧バージョン環境でのスクリプト利用
  5. 05コンポーネント定義の JSON 出力

活用シーン

  1. 01CMS エディターで利用可能なコンポーネントの確認
  2. 02作成後のコンポーネント登録検証
  3. 03モジュール間のコンポーネント名の競合調査
  4. 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 オブジェクトです。

フォールバックスクリプトの仕組み
  1. モジュール設定を読み込みます — app/etc/config.php からモジュールの順序付きリストを取得します
  2. アクティブなモジュールをフィルタリングします — 値が 1 のモジュールのみを含めます(無効なモジュールはスキップします)
  3. components.json ファイルを検索します — 次の場所を対象にします
    • app/code/{Vendor}/{Module}/etc/hyva_cms/components.json
    • vendor/{vendor-name}/{package-name}/*/etc/hyva_cms/components.json
  4. パスをモジュール名に対応付けます — 各モジュールの etc/module.xml を読み取ります
  5. JSON オブジェクトをマージします — config.php で宣言されたモジュールの読み込み順にマージします
  6. 結果を出力します — 整形済み 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 エディターで利用できるコンポーネントをデバッグする
  • 新しいコンポーネントを作成した後、コンポーネントの登録を確認する
  • モジュール間のコンポーネント名の競合を確認する
  • ドキュメント用にコンポーネント定義をエクスポートする

コメント