Drupal: Importar y sincronizar desde un XML local o remoto con Migrate
Continuando con Migrate, hoy toca importar XML’s de forma local y remota. Para la forma remota he colocado un XML de ejemplo con un solo item que pueden usar para probar que todo funcione. Ok sin más dilación esta es la clase para importar de forma remota:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
class WPMigrationFromXML extends XMLMigration { public function __construct($arguments) { parent::__construct($arguments); $items_url = 'http://ecapy.com/wp-content/uploads/2013/06/wordpress.xml_._renombrar.txt'; $item_xpath = '/rss/item'; $item_ID_xpath = 'wp:post_id'; $this->source = new MigrateSourceXML($items_url, $item_xpath, $item_ID_xpath); $this->destination = new MigrateDestinationNode('page'); $this->map = new MigrateSQLMap($this->machineName, array( 'wp:post_id' => array( 'type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, ) ), MigrateDestinationNode::getKeySchema() ); $this->addFieldMapping('uid')->defaultValue(1); $this->addFieldMapping('created', 'wp:post_date')->xpath('wp:post_date'); $this->addFieldMapping('title', 'title')->xpath('title'); $this->addFieldMapping('body', 'content:encoded')->xpath('content:encoded'); } } |
La primer diferencia y que es única para