web-dev-qa-db-ja.com

XMLまたはCSVのフィールドで既存のノードを更新する

ノードフィードとフィードインポートをインポートするための2つの素晴らしいモジュールがあります。 XMLまたはCSVファイルからのインポート時に既存のノードのフィールドを更新する方法はありますか?

たとえば、別のWebサイトからの製品(ID +価格)のXMLフィードと、同じ製品の追加データ(ID +説明)のファイルがあります。両方のソースをDrupalの同じノードにインポートする方法は?

2
ijujym

フィードとfeeds_xpathparserを設定する必要があります。ここですべてを構成するための良いスタートを見つけることができます: http://www.drupalprogrammer.co.uk/2012/12/use-feeds-module-to-import-xml-data-in.html

更新に関するあなたの懸念に関しては、GUIDを外部の一意のIDとして構成することでこれを行うことができます。提供されているスクリーンショットでは、私の場合、一意のIDに使用されるxmlタグが単に<id>

xml parser configuration

次に、以下のスクリーンショットに示すように、重複が見つかったときに「既存のノードを更新する」ようにノードプロセッサを構成する必要があります。

enter image description here

2
samuelsov

この製品をインポートできるようにするには、NIDを知っている必要があります。

ノードのインポートで、CSVにnidを追加すると、更新があることは理解できますが、試してみてください。CSVから情報ではなくすべてのコンテンツが削除される可能性があります。

この場合の最良のオプションは、bacthapiプロセスを作成してすべてのノードを更新することです。

オスカー

0
Oskar Calvo