X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Fmigrate%2Fsrc%2FPlugin%2Fmigrate%2Fprocess%2FSubProcess.php;fp=web%2Fcore%2Fmodules%2Fmigrate%2Fsrc%2FPlugin%2Fmigrate%2Fprocess%2FSubProcess.php;h=484def6c8e8296176cf3029021321797134e2f45;hp=3e3d8dcec5ac4737fb72c73d0986cc8b9cdb4d96;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0 diff --git a/web/core/modules/migrate/src/Plugin/migrate/process/SubProcess.php b/web/core/modules/migrate/src/Plugin/migrate/process/SubProcess.php index 3e3d8dcec..484def6c8 100644 --- a/web/core/modules/migrate/src/Plugin/migrate/process/SubProcess.php +++ b/web/core/modules/migrate/src/Plugin/migrate/process/SubProcess.php @@ -18,8 +18,10 @@ use Drupal\migrate\Row; * - key: runs the process pipeline for the key to determine a new dynamic * name. * - * Examples: + * Example 1: * + * This example demonstrates how migration_lookup process plugin can be applied + * on the following source data. * @code * source: Array * ( @@ -41,10 +43,8 @@ use Drupal\migrate\Row; * ) * ... * @endcode - * * The sub_process process plugin will take these arrays one at a time and run - * its own process over each one: - * + * its own process for each of them: * @code * process: * upload: @@ -58,16 +58,17 @@ use Drupal\migrate\Row; * display: list * description: description * @endcode - * * In this case, each item in the upload array will be processed by the * sub_process process plugin. The target_id will be found by looking up the - * destination value from a previous migration. The display and description - * fields will simply be mapped. + * destination value from a previous migration using the migration_lookup + * process plugin. The display and description fields will be mapped directly. * - * In the next example, normally the array returned from sub_process will have - * its original keys. If you need to change the key, it is possible for the - * returned array to be keyed by one of the transformed values in the sub-array. + * Example 2. * + * Drupal 6 filter formats contain a list of filters belonging to that format + * identified by a numeric delta. A delta of 1 indicates automatic linebreaks, + * delta of 2 indicates the URL filter and so on. This example demonstrates how + * static_map process plugin can be applied on the following source data. * @code * source: Array * ( @@ -91,7 +92,52 @@ use Drupal\migrate\Row; * ) * ) * ... + * @endcode + * The sub_process will take these arrays one at a time and run its own process + * for each of them: + * @code + * process: + * filters: + * plugin: sub_process + * source: filters + * process: + * id: + * plugin: static_map + * source: + * - module + * - delta + * map: + * filter: + * 0: filter_html_escape + * 1: filter_autop + * 2: filter_url + * 3: filter_htmlcorrector + * 4: filter_html_escape + * php: + * 0: php_code + * @endcode + * The example above means that we take each array element ([0], [1], etc.) from + * the source filters field and apply the static_map plugin on it. Let's have a + * closer look at the first array at index 0: + * @code + * Array + * ( + * [module] => filter + * [delta] => 2 + * [weight] => 0 + * ) + * @endcode + * The static_map process plugin results to value 'filter_url' for this input + * based on the 'module' and 'delta' map. + * + * Example 3. * + * Normally the array returned from sub_process will have its original keys. If + * you need to change the key, it is possible for the returned array to be keyed + * by one of the transformed values in the sub-array. For the same source data + * used in the previous example, the migration below would result to keys + * 'filter_2' and 'filter_0'. + * @code * process: * filters: * plugin: sub_process @@ -106,9 +152,8 @@ use Drupal\migrate\Row; * delimiter: _ * @endcode * - * In the above example, the keys of the returned array would be filter_2 and - * filter_0 - * + * @see \Drupal\migrate\Plugin\migrate\process\MigrationLookup + * @see \Drupal\migrate\Plugin\migrate\process\StaticMap * @see \Drupal\migrate\Plugin\MigrateProcessInterface * * @MigrateProcessPlugin(