2012年10月01日
PowerCMSのインポート/エクスポートCSVのフォーマット
PowerCMS 3ではブログ記事以外にもウェブページ、カテゴリ、ブログ、ユーザー、カスタムオブジェクト、カスタムフィールド、アイテムといったオブジェクトのインポート/エクスポートが可能になりました。インポート/エクスポートを行うには「ツール」メニューから「インポート/エクスポート」を選択します。ブログ/ウェブサイト管理者の権限が必要です(ユーザについてはシステム管理者権限が必要)。
CSVのフォーマットについては管理画面から一度エクスポートすることで書式を確認できますが、1行目の指定についてこのエントリで改めてご紹介します。以下は「ブログ記事」オブジェクトのCSVの1行目についての解説です。
id | ブログ記事のIDです。この値を指定すると、IDが重複する既存のブログ記事があった場合、上書きされます。 |
author_id | 記事の作成者(ユーザー)のIDです。 |
authored_on | 記事の公開日です。タイムスタンプ(YYYYMMDDhhmmss)形式で入力してください。省略するとインポート時点のタイムスタンプとなります。 |
basename | ベースネームの値です。 |
blog_id | ブログのIDです。 |
status | ブログ記事のステータスです。この項目は必須です。下書き=1、公開=2、日時指定=4、承認待ち=3、テンプレート(雛形)=7のいずれかの数値です。 |
title | ブログ記事のタイトルです。 |
text | 本文欄の値です。 |
text_more | 続き欄の値です。 |
excerpt | 概要欄の値です。 |
keywords | キーワード欄の値です。 |
owner_id | ワークフローを利用することで author_id が変わっていきますが、このカラムに作成者のIDを指定することで元の作成者を設定できます。 |
approver_ids | ワークフローを回していく段階で、作成者、承認者のIDが,(カンマ)区切りで入ります。このデータは承認、公開時のメール通知の際に使われます。 |
unpublished | 1を指定すると「指定日非公開」のチェックが入った状態となります。 |
unpublished_on | 指定日非公開の日付です。タイムスタンプ(YYYYMMDDhhmmss)形式で入力してください。 |
template_module_id | テンプレート・セレクタ(雛形から作成)する際のエントリーテンプレートのIDです。 |
prefs | 「表示オプション」で表示される状態のフィールド名がカンマ区切りで指定できます(PowerCMSではブログ記事/ウェブページ毎に表示オプションが保存されます)
|
メタデータ | |
tags | タグを指定します。,(カンマ)で区切ることで複数のタグを指定できます。 |
category | ブログ記事のカテゴリ。カテゴリの階層は _(アンダースコア)で繋ぐことができます。複数カテゴリの指定は,(カンマ)で区切ってしていします。これらの設定は mt-config.cgiの ImportExportCategorySeparator(階層) ImportExportCategoryDelim(複数の区切り) 環境変数で変更することができます。 |
カスタムフィールド | field.カスタムフィールドのベースネーム を指定することでカスタムフィールド値の登録が可能です。 |
カスタムフィールドのデータについて
- 関連付けカスタムフィールドの値
オブジェクトの値が数字で入ります。複数指定の場合、カンマ区切りで入力します。この時、前後にカンマが必要です(例:
,1,2,
)。グループの場合、グループのIDが入ります。- スニペットカスタムフィールドの値
- name 属性と値は「: (コロン)」てで区切り、name 属性と値のセットは「; (セミコロン)」で区切ります(例:スニペットフィールド hoge の foo に1 を、bar に2 を設定する場合
foo:1;bar:2
)。コロンとセミコロンの区切り文字についてはそれぞれ、環境変数 ImportExportSnippetSeparator、ImportExportSnippetDelimiter の指定によって変更可能です。 - アイテム(画像等)カスタムフィールドの値
フォームタグが入ります。
例:<form mt:asset-id="XX" class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://example.com/path/to/image/image.jpg">表示 </a></form>
フォームタグの形式だけでなく、下記の様なパスを指定することでもインポートが可能です。
%r/foo/bar/baz.png
旧バージョンのCSVインポート機能はオプションプラグインCMSImporterをインストールすることで利用可能になります。旧バージョンのインポートCSV書式は下記のエントリで紹介しています。
- カテゴリー
- PowerCMS 3
- サポート
コメントを投稿する