Re: 商品などデータの一括登録と絞り込み検索

2014年10月8日 at 21:23

すいません、便乗で質問です。

現在、ページ属性が30ぐらいあるページを、数百件登録したいと思っています。
既に、2ページほど、ひな形となるページを管理画面から作成し、Sample Content Generatorを入れて、XMLの構造を見たりしています。

しかし、結局このXMLデータを、どのように効率よく作れば良いのか、いまいちわかりません。
CSVでKeyとValueを大量に作って、変換ボタンを押せばこの形式になるようなワークフローはあるんでしょうか?

コンポーザーでちまちま作っていくのも骨が折れるので、なんとかしたいところでして…

あ、ちなみに、こちらのアドオンがImportも兼ねてくれるそうで、便利そうに思えました。

■Page Importer
http://www.concrete5.org/marketplace/addons/page-importer/

Re: 商品などデータの一括登録と絞り込み検索

2014年10月9日 at 0:04
オンラインのCSV-XMLコンバーターがいくつかあるようですが…いつもはCSVをXMLに変換するPHPスクリプトを書いています。仕事ではほとんどの場合、もともとのCSVの書式が決まっているので…。

インポートはxmlをContentImporterクラスに突っ込むだけなので、これまた多くの場合インポートページを作っています。アドオンで管理画面にページを作成するときも同様の方法でやってます。

例:
http://github.com/hissy/c5_social_share_lite/blob/master/social_share_lite/controller.php#L23

実装が単純なので逆に公開する気にならないという…。
 

Re: Re: 商品などデータの一括登録と絞り込み検索

2014年10月10日 at 18:11
なるほど。concrete5のXMLの形式に、CSVを当てはめるPHPを書けばいいんですね。
CSVをパースして、配列に落とし込み、XMLのひな形を作って、そこにechoで出力するような感じでしょうか。で、回す、と。
 

Re: 商品などデータの一括登録と絞り込み検索

2014年10月10日 at 21:20
XMLの作り方はContentExporterが参考になります

http://github.com/concrete5/concrete5/blob/master/web/concrete/core/libraries/content/exporter.php

このようにSimpleXMLElementを使えば結構ラクなんです
http://php.net/manual/ja/class.simplexmlelement.php