it-swarm.com.de

Feeds: Verwenden Sie ein benutzerdefiniertes Feld als eindeutiges Feld für die Zuordnung

Ich benutze D7, Feeds, XPath Parser. Für die Zuordnung muss ein benutzerdefiniertes Feld als eindeutiges Feld verwendet werden. Ich erhalte Daten von booking.com und der eindeutige Wert ist die Hotel-ID. Daher muss ich diese Hotel-ID vom Benutzer speichern sowie Daten von booking.com abrufen, die in diesem eindeutigen Feld gespeichert sind, und meinen Inhalten basierend auf zuordnen dieses einzigartige Feld.

In der Dokumentation von Feeds habe ich Folgendes gefunden: - Verwenden Sie ein anderes Feld als nid als eindeutiges Knotenfeld in Feeds für 7.x-2.x

Es heißt, Sie müssen einen Patch aus diesem Kommentar anwenden - http://drupal.org/node/661606#comment-5921904

Dieser Patch gilt für eine Datei namens field.inc im Mapper-Ordner von Feeds. Diese Datei ist dort jedoch nicht einmal vorhanden. Der Patch gilt auch für eine andere Datei. Das Ausführen des Patches führt jedoch zu Fehlern.

  • Ist field.inc tatsächlich in Feeds/Mappern vorhanden?
  • Mache ich einen Fehler beim Anwenden des Patches?
  • Gibt es eine andere Möglichkeit, ein benutzerdefiniertes Feld als eindeutiges Feld für die Zuordnung zu erreichen?

Jede Hilfe hierzu wäre sehr dankbar. Vielen Dank.

4
SGhosh

Beantwortung meiner eigenen Frage -

Verwenden des Patches von - http://drupal.org/node/661606#comment-6481214 im Feed-Modul und eines Patches von - http://drupal.org/node/1705386) # comment-6481224 .

Verwenden Sie daher Feeds mit Feldvalidierung. Zunächst muss dem erforderlichen Feld eine Validierung für eindeutig hinzugefügt werden. In der Zuordnung für genau wie Titel kann als eindeutig festgelegt werden, auch in diesem Feld muss die Einstellung als eindeutig festgelegt werden.

2
SGhosh

Dieses Tutorial funktioniert für mich:

Wie konfiguriere ich eindeutige Felder in Drupal Feeds Importer?

Siehe auch offizielle Dokumentation , in dem angegeben ist, dass Sie entweder das Feldvalidierungsmodul verwenden oder eine benutzerdefinierte Lösung schreiben können, die hook_feeds_processor_targets_alter() implementiert.

9
David Czinege

Wenn Sie nur einen Feeds-Importer verwenden (d. H. Nur aus einer einzigen XML-Quelle importieren), können Sie dies tun, ohne Patches anzuwenden. Ordnen Sie in den Importerzuordnungen das Hotel-ID-Feld einfach GUID) zu und legen Sie es als eindeutig fest. Wenn Sie die Hotel-ID in Ihrem Inhaltstyp verwenden müssen, ordnen Sie es auch einem anderen Feld zu.

Aus Ihrer Beschreibung geht hervor, dass Ihre Anforderungen möglicherweise komplexer sind (d. H. Aus mehreren Quellen in denselben Inhaltstyp importieren)? In diesem Fall können Sie das Modul Field Validation verwenden, um Ihr Feld als eindeutig festzulegen. Beachten Sie, dass für das letzte Mal, als ich es verwendet habe, auch ein Patch - erforderlich war, aber es kann jetzt festgeschrieben werden. Dieses Problem mit der Feldvalidierung bietet weitere Informationen.

Ich denke, die Methode, auf die Sie sich bezogen haben (mit dem Unique Field-Modul), ist jetzt etwas veraltet.

4
pushka