ablogcms.ioメニューを開閉する公式サイト開発者向けサイトCSVファイルをインポートしてエントリを一括登録しよう難易度Webサイトの制作において、エントリのデータを1つ1つ登録していくのは、確実ではありますが大変な作業でもあります。一定の内容・項目がデータとして入るようなカタログ的なページでは、CSVファイルのデータをエントリとして読みこむ機能が役立ちます。cmsでは、エントリをCSVファイルのデータとしてインポートすることで、複数のエントリを一括登録できます。今回は、テスト用CSVファイルとして「なんちゃって個人情報」で生成したCSVファイルを使用します。実際には、製品のカタログ情報であったり、いろいろな形式の情報があるかと思いますが、CSVファイルとして作られていれば、以下の工程は同じとなります。生成されたCSVファイルの1行目をエントリの基本情報とカスタムフィールドの項目名に書き換えます。今回は1行目の「名前」をエントリのタイトルとするため「entry_title」とし、あとの項目はカスタムフィールドの項目として任意の名前に変更します。1行目に変更を加えたものが、以下のファイルになります。このファイルには、100人分のデータが登録されています。「CSV」からインポートできます。基本的には、現在表示しているブログの任意のカテゴリに一括登録されます。CSVファイル中に項目「entry_category_id」でカテゴリを指定することで、優先してそのカテゴリにインポートされます。今回は、事前に「会員紹介(カテゴリコード=members)」というカテゴリを作成し、そこにインポートしてみます。「CSV」へデータとインポート先を指定して、インポートを実行しますインポートが完了しましたこれでCSVファイルのデータがエントリとしてインポートできました。CSVファイルのデータが、エントリとなって表示されました。インポート後のカテゴリトップただし、このままではエントリのタイトルとして読み込んだ「名前」以外の情報が表示されません。cmsに標準搭載されているツール「カスタムフィールドメーカー」で、カスタムフィールドの入力・出力用コードを生成して、今読み込んだカスタムフィールドを表示できるようにしましょう。cmsの管理ページから利用できる「カスタムフィールドメーカー」を使ってコードを生成します。テキスト※生成されるコードをコピー&ペーストする際、acms-admin.cssのチェックは、入力用ソースの時にはチェックあり、出力用ソースの時にはチェックなしの状態にしてコードをコピーしましょう。/themes/simple2016/include/parts/fieldoutput_6.htmlとして保存します。6の部分は今回対象となるカテゴリIDの数字となります。実際に読み込ませるカテゴリIDに合わせて変更をしてください。文末に以下のコードを追記しましょう。-->出力用は、まず「会員紹介」で使うテンプレートを作成します。-->の間に以下のコードを追記します。とも、ファイルをインクルードする際にファイル名部分をグローバル変数にすることで、該当するカテゴリ以外ではカスタムフィールドの情報が表示されなくなります。これで、一般向けの表示画面でのカスタムフィールドの表示と、編集画面での表示ができるようになりました。モジュールを使って検索できます。モジュールの使い方と実際のサンプルは、site2016テーマの「物件情報」コンテンツが参考になるでしょう。モジュールのHTMLファイルを用意しました。以下のようにインクルードして動作させてみましょう。この内容を変更することで、任意のカスタムフィールド情報での検索ができます。