class LinkOptions

Same name in other branches
  1. 10 core/modules/menu_link_content/src/Plugin/migrate/process/LinkOptions.php \Drupal\menu_link_content\Plugin\migrate\process\LinkOptions
  2. 11.x core/modules/menu_link_content/src/Plugin/migrate/process/LinkOptions.php \Drupal\menu_link_content\Plugin\migrate\process\LinkOptions

Converts links options.

Examples:


process:
  link/options:
    plugin: link_options
    source: options

This will convert the query options of the link.

Plugin annotation


@MigrateProcessPlugin(
  id = "link_options",
  handle_multiples = TRUE
)

Hierarchy

Expanded class hierarchy of LinkOptions

File

core/modules/menu_link_content/src/Plugin/migrate/process/LinkOptions.php, line 28

Namespace

Drupal\menu_link_content\Plugin\migrate\process
View source
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;
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
LinkOptions::transform public function Performs the associated process. Overrides ProcessPluginBase::transform
PluginInspectionInterface::getPluginDefinition public function Gets the definition of the plugin implementation. 6
PluginInspectionInterface::getPluginId public function Gets the plugin_id of the plugin instance. 2
ProcessPluginBase::multiple public function Indicates whether the returned value requires multiple handling. Overrides MigrateProcessInterface::multiple 3

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