LinkOptions.php

Same filename in other branches
  1. 9 core/modules/menu_link_content/src/Plugin/migrate/process/LinkOptions.php
  2. 10 core/modules/menu_link_content/src/Plugin/migrate/process/LinkOptions.php

Namespace

Drupal\menu_link_content\Plugin\migrate\process

File

core/modules/menu_link_content/src/Plugin/migrate/process/LinkOptions.php

View source
<?php

namespace Drupal\menu_link_content\Plugin\migrate\process;

use Drupal\migrate\Attribute\MigrateProcess;
use Drupal\migrate\MigrateExecutableInterface;
use Drupal\migrate\ProcessPluginBase;
use Drupal\migrate\Row;

/**
 * Converts links options.
 *
 * Examples:
 *
 * @code
 * process:
 *   link/options:
 *     plugin: link_options
 *     source: options
 * @endcode
 *
 * This will convert the query options of the link.
 */
class LinkOptions extends ProcessPluginBase {
    
    /**
     * {@inheritdoc}
     */
    public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
        if (isset($value['query'])) {
            // If the query parameters are stored as a string (as in D6), convert it
            // into an array.
            if (is_string($value['query'])) {
                parse_str($value['query'], $old_query);
            }
            else {
                $old_query = $value['query'];
            }
            $value['query'] = $old_query;
        }
        return $value;
    }

}

Classes

Title Deprecated Summary
LinkOptions Converts links options.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.