Issue #2845488 by Jo Fitzgerald, gerzenstl, Pavan B S, Yogesh Pawar, gaurav.kapoor, quietone, phenaproxima, mikeryan: Add documentation to SkipOnEmpty process plugin
parent
2cfd4d71b0
commit
fed0b7d7b0
|
@ -9,9 +9,47 @@ use Drupal\migrate\Row;
|
|||
use Drupal\migrate\MigrateSkipRowException;
|
||||
|
||||
/**
|
||||
* If the source evaluates to empty, we skip processing or the whole row.
|
||||
* Skips processing the current row when the input value is empty.
|
||||
*
|
||||
* @link https://www.drupal.org/node/2228793 Online handbook documentation for skip_on_empty process plugin @endlink
|
||||
* The skip_on_empty process plugin checks to see if the current input value
|
||||
* is empty (empty string, NULL, FALSE, 0, '0', or an empty array). If so, the
|
||||
* further processing of the property or the entire row (depending on the chosen
|
||||
* method) is skipped and will not be migrated.
|
||||
*
|
||||
* Available configuration keys:
|
||||
* - method: (optional) What to do if the input value is empty. Possible values:
|
||||
* - row: Skips the entire row when an empty value is encountered.
|
||||
* - process: Prevents further processing of the input property when the value
|
||||
* is empty.
|
||||
*
|
||||
* Examples:
|
||||
*
|
||||
* @code
|
||||
* process:
|
||||
* field_type_exists:
|
||||
* plugin: skip_on_empty
|
||||
* method: row
|
||||
* source: field_name
|
||||
* @endcode
|
||||
*
|
||||
* If field_name is empty, skips the entire row.
|
||||
*
|
||||
* @code
|
||||
* process:
|
||||
* parent:
|
||||
* -
|
||||
* plugin: skip_on_empty
|
||||
* method: process
|
||||
* source: parent
|
||||
* -
|
||||
* plugin: migration
|
||||
* migration: d6_taxonomy_term
|
||||
* @endcode
|
||||
*
|
||||
* If parent is empty, any further processing of the property is skipped - thus,
|
||||
* the next plugin (migration) will not be run.
|
||||
*
|
||||
* @see \Drupal\migrate\Plugin\MigrateProcessInterface
|
||||
*
|
||||
* @MigrateProcessPlugin(
|
||||
* id = "skip_on_empty"
|
||||
|
@ -20,7 +58,24 @@ use Drupal\migrate\MigrateSkipRowException;
|
|||
class SkipOnEmpty extends ProcessPluginBase {
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
* Skips the current row when value is not set.
|
||||
*
|
||||
* @param mixed $value
|
||||
* The input value.
|
||||
* @param \Drupal\migrate\MigrateExecutableInterface $migrate_executable
|
||||
* The migration in which this process is being executed.
|
||||
* @param \Drupal\migrate\Row $row
|
||||
* The row from the source to process.
|
||||
* @param string $destination_property
|
||||
* The destination property currently worked on. This is only used together
|
||||
* with the $row above.
|
||||
*
|
||||
* @return mixed
|
||||
* The input value, $value, if it is not empty.
|
||||
*
|
||||
* @throws \Drupal\migrate\MigrateSkipRowException
|
||||
* Thrown if the source property is not set and the row should be skipped,
|
||||
* records with STATUS_IGNORED status in the map.
|
||||
*/
|
||||
public function row($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
|
||||
if (!$value) {
|
||||
|
@ -30,7 +85,24 @@ class SkipOnEmpty extends ProcessPluginBase {
|
|||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
* Stops processing the current property when value is not set.
|
||||
*
|
||||
* @param mixed $value
|
||||
* The input value.
|
||||
* @param \Drupal\migrate\MigrateExecutableInterface $migrate_executable
|
||||
* The migration in which this process is being executed.
|
||||
* @param \Drupal\migrate\Row $row
|
||||
* The row from the source to process.
|
||||
* @param string $destination_property
|
||||
* The destination property currently worked on. This is only used together
|
||||
* with the $row above.
|
||||
*
|
||||
* @return mixed
|
||||
* The input value, $value, if it is not empty.
|
||||
*
|
||||
* @throws \Drupal\migrate\MigrateSkipProcessException
|
||||
* Thrown if the source property is not set and rest of the process should
|
||||
* be skipped.
|
||||
*/
|
||||
public function process($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
|
||||
if (!$value) {
|
||||
|
|
Loading…
Reference in New Issue