diff --git a/migration_templates/d5_url_alias.yml b/migration_templates/d5_url_alias.yml new file mode 100644 index 0000000000000000000000000000000000000000..dac000163315a9cf4d2d53059304eb2d08470b54 --- /dev/null +++ b/migration_templates/d5_url_alias.yml @@ -0,0 +1,24 @@ +id: d5_url_alias +label: Drupal 5 URL aliases +migration_tags: + - Drupal 5 +source: + plugin: d5_url_alias + constants: + slash: '/' + langcode: 'und' + +process: + source: + plugin: concat + source: + - constants/slash + - src + alias: + plugin: concat + source: + - constants/slash + - dst + langcode: constants/langcode +destination: + plugin: url_alias diff --git a/src/Plugin/migrate/source/d5/UrlAlias.php b/src/Plugin/migrate/source/d5/UrlAlias.php new file mode 100644 index 0000000000000000000000000000000000000000..203a15dfa02cb22c007a9dc9df3cd371339e623e --- /dev/null +++ b/src/Plugin/migrate/source/d5/UrlAlias.php @@ -0,0 +1,42 @@ +<?php + +/** + * @file + * Contains \Drupal\migrate_drupal_d5\Plugin\migrate\source\d5\UrlAlias. + */ + +namespace Drupal\migrate_drupal_d5\Plugin\migrate\source\d5; + +use Drupal\path\Plugin\migrate\source\d6\UrlAlias as UrlAliasBase; + +/** + * Drupal 5 url aliases source from database. + * + * @MigrateSource( + * id = "d5_url_alias" + * ) + */ +class UrlAlias extends UrlAliasBase { + + /** + * {@inheritdoc} + */ + public function query() { + $query = $this->select('url_alias', 'ua') + ->fields('ua', array('pid', 'src', 'dst')); + $query->orderBy('pid'); + + return $query; + } + + /** + * {@inheritdoc} + */ + public function fields() { + $fields = parent::fields(); + // No language in D5. + unset($fields['language']); + return $fields; + } + +}