2017-02-28 1 views
0

Ich versuche, Dateien in einen benutzerdefinierten Dateityp mit vielen benutzerdefinierten Feldern zu migrieren. Sie scheinen jedoch in den Dateityp document migriert zu werden, anstatt in meinen benutzerdefinierten Dateityp.Drupal 7 - Dateien in benutzerdefinierten Dateityp migrieren

Ich bin mit dem MigrateDestinationFile als mein Ziel wie folgt aus:

$this->destination = new MigrateDestinationFile(); 

Ich habe versucht, die type wie this answer vorgeschlagen, wie diese zur Karte:

$this->addFieldMapping('type')->defaultValue('custom_file_type'); 

Diese Lösung funktioniert nicht , beim Überprüfen der abbildbaren Felder für die MigrateDestinationFile gibt es keine type Feld angegeben, so dass ich denke, das ist der Grund, warum diese Lösung nicht funktioniert.

Wenn mich jemand auf ein Beispiel verweisen könnte, wie man in einen benutzerdefinierten Dateityp migriert, der sehr geschätzt würde. Vielleicht verwende ich die falsche destination? Oder habe ich etwas sehr offensichtlich vermisst.

Der andere Teil der Migration spielt für diese Frage keine Rolle.

Antwort

0

Anscheinend hatte ich zwei Probleme. Die erste war, dass wir beim Erstellen des Dateityps file aufgerufen haben, was aus irgendeinem Grund nicht als Migrationsziel festgelegt werden kann, da es bereits im MigrateDestinationFile Konstruktor voreingestellt ist (siehe Code unten).

From file.inc:544 

/** 
* Basic initialization 
* 
* @param array $options 
* Options applied to files.  
*/ 
public function __construct($bundle = 'file', $file_class = 'MigrateFileUri', $options = array()) { 
    parent::__construct('file', $bundle, $options); 
    $this->fileClass = $file_class; 
} 

Zweite Ausgabe war die Abbildung auf dem Gebiet Bündel selbst. Ich hatte einfach so das richtige Ziel gesetzt, nachdem Sie den Dateityp mit einem anderen Namen neu erstellen:

$this->destination = new MigrateDestinationFile('product_download'); 

Danach wird die migrierten Dateien zu tun, wo in dem richtigen Inhaltstyp erstellt, anstatt der document Dateityp.