PowerCMS XではCSVインポートによりオブジェクトの一括作成・更新が可能です。バイナリ/ファイル型を除くカラムであれば、.csvファイルにより更新が可能ですが、フィールドは.jsonファイルでの更新となり、インポートファイル形式が異なっています。
この記事では、フィールドのインポート方法を紹介します。
カラムとフィールドの違い
管理画面(オブジェクト作成画面)ではあまり違いがないように見えますが、デフォルトではカラムが上から並び、フィールドが後に続く形になります。 また、データ保存先も異なっており、フィールドはmt_metaテーブルに保存される仕様になっています。
カラムとフィールドの特徴・使い分けは、フィールド (カスタムフィールド) の作成と利用を参考にすると良いでしょう。
フィールドのインポート
対象モデルのオブジェクトをCSVエクスポートすることで、そのままインポートファイル形式として利用できます(フィールドを作成したモデルでは.csvと.jsonファイルが出力されます)。 ここではフィールドのみを更新しますので、CSVはidカラムとexport_uuidカラム以外は削除してインポートします。
この例では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形式でインポートする必要がある点に注意しましょう。