PowerCMS™
[新着情報] JVN#66473735 で注意喚起されている複数の脆弱性についてワークアラウンドの対策 を追加しました。
[ブログ] PowerCMS 7 でのアップデートまとめ を追加しました。
[ブログ] 拡張フィールドから代替機能への移行 を追加しました。
[新着情報] PowerCMS 7.01 / 6.82 / 5.42 / 4.73 向け修正ファイルについて を追加しました。

PowerCMS ブログ

ホーム > PowerCMS ブログ > 設定・管理画面カスタマイズ > 拡張フィールドから代替機能への移行

2026年05月07日

拡張フィールドから代替機能への移行

PowerCMS 6 系までレガシーなプラグインとして提供していた拡張フィールド機能( ExtFields プラグイン)は、利用者の減少に伴い PowerCMS 7 で廃止となりました。
そのため、拡張フィールドをご利用中の場合は、代替となる機能への移行をご検討いただく必要があります。
なお、拡張フィールドに関するお問い合わせをいただいたお客様には、後継機能であるカスタムフィールドへの移行を個別にご案内してまいりました。

この記事では、以下の内容について解説します。

  • 拡張フィールドとはどのような機能か
  • PowerCMS 7 で廃止された理由
  • 廃止による影響
  • 代替機能の仕組み
  • 移行の流れ

拡張フィールドについて

拡張フィールドとは、記事やウェブページに独自の入力項目を追加できる機能です。

PowerCMS の標準入力項目だけでは不足する情報を追加することができるため、カスタムフィールド機能が提供される以前に、サイト独自の情報をCMS管理画面から入力できるようにする機能として、多くのサイトで利用されてきました。

例えば、以下のような用途でご利用いただいていたものです。

  • 商品ページに価格を表示する
  • 店舗ページに営業時間を表示する
  • 記事にサブタイトルを表示する
  • ページに関連リンクを表示する

PowerCMS 7 で拡張フィールドが廃止された理由

PowerCMS 7 では、CMS の設計見直しに伴い、拡張フィールド( ExtFields プラグイン)が廃止されました。 主な理由としては次のようなものがあります。

  • 拡張フィールド利用者の減少
  • 重複しているフィールド管理機能の整理
  • レガシープラグインへ移行されてから約10年が経過していること

拡張フィールドを使ったサイトをアップグレードした際に生じる影響

拡張フィールドを使用しているサイトをそのまま PowerCMS 7 以降へアップグレードした場合、次のような影響が考えられます。

    1. 拡張フィールドはサポート対象外
      PowerCMS 7 以降では ExtFields プラグインが廃止されているため、拡張フィールド機能自体がサポート対象外となります。
    2. 拡張フィールド部分の表示不具合や編集不可の可能性
      拡張フィールドは独自形式でデータが保持されています。
      そのため、そのまま PowerCMS 7 以降にアップグレードした場合、当該箇所の表示不具合、管理画面での編集不可、またはテンプレート再構築時のエラー発生などの影響が生じる可能性があります。
    3. 不具合発生時の対応が困難になる可能性
      上記 1 , 2 に関連しますが、拡張フィールドに関連する問題が発生した場合でも、今後は修正パッチの提供やサポート対応が行われないため、不具合発生時に対応が困難になる可能性があります。

代替機能について

PowerCMS 7 における標準的な移行先としては、カスタムフィールドおよびフィールドブロックビルダーの利用を推奨しています。
また、データ移行についてはインポート / エクスポート機能で対応可能です。

そのうえで本記事では、案件として対応したお客様からのご要望を踏まえ、「フィールドブロック」と「スニペットフィールド」を組み合わせた代替方法をご紹介します。
フィールドブロックはサポート対象外の機能ですが、対象となった PowerCMS 6 環境では「本文」をフィールドブロックビルダーとして利用するケースが前提となっていた背景もあり、本件における代替手段の一例として取り上げています。

この代替機能の実装では、主に以下の対応を行いました。

  • CMS 管理画面での入力
  • CMS テンプレートでの出力
  • 既存データの移行

拡張フィールドを用いた移行前のウェブページ編集画面

拡張フィールド移行前の編集画面.png

フィールドブロックとスニペットフィールドを用いた移行後の編集画面

フィールドブロックとスニペットフィールドへ移行後のウェブページの編集画面.png

代替機能の仕組み

代替機能は主に次の2つの仕組みで構成されています。

① フィールドブロック(スニペットフィールドベース)

フィールドブロックは、拡張フィールドの UI を代替する仕組みで、PowerCMS 6 で追加されたフィールドブロックビルダーとは別の機能です。

主な特徴は次の通りです。

  • PowerCMS 管理画面で、従来の拡張フィールドと似た UI を提供
  • 編集画面では、拡張フィールドとほぼ同じようにデータ入力が可能
  • テンプレートで使用していた拡張フィールドタグを、新しいタグへ置き換えることで利用可能

これにより、編集者の操作感を大きく変えることなく運用を続けることができます。

② データ変換スクリプト

拡張フィールドに入力されているデータを CSV 形式に変換するスクリプトを作成しました。
このスクリプトを利用することで、次の流れでデータを移行できます。

旧 CMS からデータを取得
 ↓
CSV 形式に変換
 ↓
PowerCMS にインポート

これにより、既存の拡張フィールドデータを安全に移行することができます。

移行の流れ

拡張フィールドから代替機能へ移行する際の基本的な流れは次の通りです。

1. 移行前環境でデータを抽出

変換スクリプトを実行し、拡張フィールドのデータを CSV 形式で出力します。

2. PowerCMS 環境を構築

  • フィールドブロックをインストール
  • カスタムフィールドを設定
  • テンプレートモジュールを登録

3. CSVデータをインポート

出力した CSV を PowerCMS のインポート機能で取り込みます。

4. テンプレート調査

置き換えるタグを調査し、テンプレートのパターン分けを行います。この時点で、ある程度工数の算出ができます。

5. CMS テンプレートを修正

既存テンプレートで使用されている拡張フィールドタグを新しいフィールドブロック用タグへ置き換えます。

移行時の注意点

移行を行う際には、次の点に注意する必要があります。

テンプレートの修正作業が必要

拡張フィールドを利用しているテンプレートでは、タグの置き換えが必要になります。 サイトの構造によっては、修正箇所が多くなる場合があります。

スニペットフィールドの区切り文字設定

データ移行では、スニペットフィールドのセパレータやデリミタの設定を適切に行う必要があります。 入力データに含まれない文字列を設定することが重要です。

作業時間を考慮する

テンプレート修正やデータ移行作業のため、場合によっては複数日に分けて作業することも想定されます。 事前準備を行い、作業時間を短縮できるよう計画することが重要です。

今回のケースでは、対象となるワークスペース/スペースが100以上におよび、対応にはおおよそ2人月の工数を要しました。 作業工数の内訳は以下のとおりです。

  • 拡張フィールドの入力値を、スニペットフィールドで利用可能な形式へ変換するためのスクリプトを作成(全体工数の約3割)
  • CMS テンプレート内で拡張フィールド機能に依存していたロジックを、拡張フィールドに依存しない形へ改修(全体工数の約3割)
  • ウェブページ/記事の編集画面において、拡張フィールド機能による UI を代替実装へ置き換え(全体工数の約1割)

まとめ

PowerCMS 7 以降では、拡張フィールド機能が廃止されています。 そのため、拡張フィールドを使用しているサイトでは、将来的な保守性を考慮して代替機能への移行が必要となります。

カスタムフィールドやフィールドブロックビルダーなどの代替機能を導入することで、以下を実現できます。

  • PowerCMS 7 以降へのアップグレード
  • 既存データの移行
  • 運用フローの維持

拡張フィールドをご利用中の場合は、早めの移行をご検討ください。

カスタマイズのご相談はその他のお問い合わせフォームにて承っております。
お気軽にご相談ください。


カテゴリー
設定・管理画面カスタマイズ

Recent Entries