You are here

panopoly_demo.menu.inc in Panopoly Demo 7

Migrations for Menu items.

File

import/panopoly_demo.menu.inc
View source
<?php

/**
 * @file
 * Migrations for Menu items.
 */
class PanopolyDemoMenu extends Migration {
  public function __construct(array $arguments) {
    parent::__construct($arguments);
    $this->description = t('Import menu items.');
    $this->dependencies = array(
      'PanopolyDemoNode',
    );

    // Create a map object for tracking the relationships between source rows.
    $this->map = new MigrateSQLMap($this->machineName, array(
      'mlid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'description' => 'ID of destination link',
      ),
    ), MigrateDestinationMenuLinks::getKeySchema());
    $import_path = drupal_get_path('module', 'panopoly_demo') . '/import/data/';

    // Create a MigrateSource object.
    $this->source = new MigrateSourceCSV($import_path . 'panopoly_demo.menu.csv', $this
      ->csvcolumns(), array(
      'header_rows' => 1,
    ));
    $this->destination = new MigrateDestinationMenuLinks('panopoly_page');
    $this
      ->addFieldMapping('uid')
      ->defaultValue(1);
    $this
      ->addFieldMapping('status')
      ->defaultValue(1);
    $this
      ->addFieldMapping('language')
      ->defaultValue(LANGUAGE_NONE);
    $this
      ->addFieldMapping('title', 'title');
    $this
      ->addFieldMapping('field_featured_image', 'image');
    $this
      ->addFieldMapping('field_featured_image:file_replace')
      ->defaultValue(FILE_EXISTS_REPLACE);
    $this
      ->addFieldMapping('field_featured_image:source_dir')
      ->defaultValue(drupal_get_path('module', 'panopoly_demo') . '/import/images');
    $this
      ->addFieldMapping('body', 'body');
    $this
      ->addFieldMapping('body:format')
      ->defaultValue('panopoly_wysiwyg_text');
    $this
      ->addFieldMapping('field_featured_status', 'featured');
    $this
      ->addFieldMapping('created', 'created');
    $this
      ->addFieldMapping('menu_name')
      ->defaultValue('main-menu');
    $this
      ->addFieldMapping('plid', 'ref_parent')
      ->sourceMigration($this
      ->getMachineName());
    $this
      ->addFieldMapping('link_path', 'path');
    $this
      ->addFieldMapping('router_path')
      ->defaultValue('node/%');
    $this
      ->addFieldMapping('link_title', 'title');
    $this
      ->addFieldMapping('external')
      ->defaultValue('0');
    $this
      ->addFieldMapping('expanded')
      ->defaultValue('0');
    $this
      ->addFieldMapping('weight', 'weight');
    $this
      ->addFieldMapping('customized')
      ->defaultValue('1');
    $this
      ->addFieldMapping('has_children')
      ->defaultValue('0');
    $this
      ->addFieldMapping('depth')
      ->defaultValue('1');
    $this
      ->addUnmigratedDestinations(array(
      'module',
      'hidden',
      'options',
      'p1',
      'p2',
      'p3',
      'p4',
      'p5',
      'p6',
      'p7',
      'p8',
      'p9',
      'updated',
    ));
  }
  function prepareRow($row) {

    // Convert the alias to the node path.
    $node_path = drupal_lookup_path('source', $row->path);
    if ($node_path == FALSE) {
      return FALSE;
    }
    $row->path = $node_path;
  }
  protected function csvcolumns() {
    $columns[0] = array(
      'mlid',
      'Menu link ID',
    );
    $columns[1] = array(
      'path',
      'Path',
    );
    $columns[2] = array(
      'title',
      'Title',
    );
    $columns[3] = array(
      'ref_parent',
      'Parent',
    );
    $columns[4] = array(
      'weight',
      'Weight',
    );
    return $columns;
  }

}

Classes

Namesort descending Description
PanopolyDemoMenu @file Migrations for Menu items.