CIF Importer

2015年8月11日 at 17:30

concrete5のコンテンツ形式CIFをインポートするアドオン「CIF Importer」のスレッドです

http://www.concrete5.org/marketplace/addons/cif-importer1/

タグ:

Re: CIF Importer

2015年8月11日 at 17:33
早速質問です。

1)既存のサイトでこのImporterを使った場合、既存のページ(コンテンツ)はすべて抹消された上で上書きされるのでしょうか? それとも、既存ページは残され、その後にコンテンツが追加されるのでしょうか?

2)ページ属性について
ページ属性は、予めサイト側で作る必要があるのでしょうか? それともCIF側に存在しないページ属性が書かれていた場合は、自動で属性が作成されるのでしょうか?
 

Re: CIF Importer

2015年8月12日 at 12:28
このアドオンは、concrete5のContentImporterクラスにxmlファイルを投げている以外のことはしていないので、全てコアのクラスの挙動になります。ぼくも全ては把握していません。テストサイトで試してみてください wink
 

Re: CIF Importer

2015年8月12日 at 15:17
まず、サンプルコンテンツ付でインストールした5.7.4.2に、このアドオンを使って添付のxml(https://github.com/hissy/addon_csv_xml_converterにサンプルとして表示されているもの)を読み込ませたところ、
下記のエラーが表示されました

Doctrine \ DBAL \ Exception \ NotNullConstraintViolationException
An exception occurred while executing 'insert into Pages (cID, ptID, cParentID, uID, cInheritPermissionsFrom, cOverrideTemplatePermissions, cInheritPermissionsFromCID, cDisplayOrder, pkgID) values (?, ?, ?, ?, ?, ?, ?, ?, ?)' with params ["195", "5", null, "1", "TEMPLATE", null, "151", 0, 0]: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'cParentID' cannot be null
/Applications/MAMP/htdocs/c57-2/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php
 

Re: CIF Importer

2015年8月12日 at 15:53
経過報告です。
多分、完全なXMLじゃなかったので、このようなエラーが出ています。

おそらく完全であろうXMLを用意してインポートしたら、空白のサイトでも、既にページがあるサイトでもインポートされました。

後者の場合は、既存のページを維持したまま、追加でコンテンツがインストールされました。
 

Re: CIF Importer

2015年8月12日 at 15:18
空白のサイトでインストールした5.7.4.2に、同じxmlをインポートしたところ、以下のようにエラーが表示されました。

Whoops \ Exception \ ErrorException (E_ERROR)
Call to a member function getPageTemplateID() on null
/Applications/MAMP/htdocs/c57-3/concrete/src/Backup/ContentImporter.php


以前、違うXML形式で読み込んだらうまくいったんですが… 何か間違えてるのかな…
 

Re: CIF Importer

2015年8月12日 at 15:37
サンプルコンテンツのような完全なXMLでない場合、指定されているページテンプレートや親ページ、その他指定しているのにサイトに存在しない場合すべてエラーになります