blogスタッフブログ
HOME > スタッフブログ > CMS >PowerCMS Xのフィールドをインポートで一括更新する

PowerCMS Xのフィールドをインポートで一括更新する

PowerCMS XではCSVインポートによりオブジェクトの一括作成・更新が可能です。バイナリ/ファイル型を除くカラムであれば、.csvファイルにより更新が可能ですが、フィールドは.jsonファイルでの更新となり、インポートファイル形式が異なっています。

この記事では、フィールドのインポート方法を紹介します。

カラムとフィールドの違い

管理画面(オブジェクト作成画面)ではあまり違いがないように見えますが、デフォルトではカラムが上から並び、フィールドが後に続く形になります。 また、データ保存先も異なっており、フィールドはmt_metaテーブルに保存される仕様になっています。

カラムとフィールドの特徴・使い分けは、フィールド (カスタムフィールド) の作成と利用を参考にすると良いでしょう。

フィールドのインポート

対象モデルのオブジェクトをCSVエクスポートすることで、そのままインポートファイル形式として利用できます(フィールドを作成したモデルでは.csvと.jsonファイルが出力されます)。 ここではフィールドのみを更新しますので、CSVはidカラムとexport_uuidカラム以外は削除してインポートします。

idカラムとexport_uuidカラム以外を削除したCSVのイメージ

この例ではentryモデルid130と132のオブジェクトを更新していますが、.jsonファイルはexport_uuidをkeyにフィールドの値を設定します。

{
    "412b40fa-1587-4ae2-8bb5-23e3423e6ebb": [
        {
            "model": "entry",
            "kind": "customfield",
            "type": "text",
            "name": "value",
            "key": "field_text",
            "value": "",
            "number": "1",
            "field_basename": "field_text"
        }
    ],
    "0d623730-e227-4e0d-90dd-d9ee8f510445": [
        {
            "model": "entry",
            "kind": "customfield",
            "type": "text",
            "name": "value",
            "key": "field_text",
            "value": "フィールドのテキスト",
            "number": "1",
            "field_basename": "field_text"
        }
    ]
}

.csvファイルと.jsonファイルを同じフォルダに入れて.zip形式で圧縮後、インポートすることでフィールドの更新が可能です。

まとめ

フィールドは仕様上(データベースでカラムと保存先が違うため)インポートファイル形式が異なりますが、インポートによる一括更新は可能です。

PowerCMS Xでは、エクスポートしたCSVがそのままインポートファイル形式になります。カラムの更新では.csvファイル単体をアップロードすることでインポート可能ですが、フィールドやバイナリ/ファイル型のカラムはzip形式でインポートする必要がある点に注意しましょう。

最近の記事

カテゴリ

アーカイブ

スタッフ別