class MigrateExternalTranslatedTestSource
Same name and namespace in other branches
- 11.x core/modules/migrate/tests/modules/migrate_external_translated_test/src/Plugin/migrate/source/MigrateExternalTranslatedTestSource.php \Drupal\migrate_external_translated_test\Plugin\migrate\source\MigrateExternalTranslatedTestSource
A simple migrate source for our tests.
Plugin annotation
@MigrateSource(
id = "migrate_external_translated_test",
source_module = "migrate_external_translated_test"
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait implements \Drupal\Component\Plugin\PluginBase
- class \Drupal\migrate\Plugin\migrate\source\SourcePluginBase extends \Drupal\migrate\Plugin\MigrateSourceInterface, \Drupal\migrate\Event\RollbackAwareInterface implements \Drupal\Core\Plugin\PluginBase
- class \Drupal\migrate_external_translated_test\Plugin\migrate\source\MigrateExternalTranslatedTestSource implements \Drupal\migrate\Plugin\migrate\source\SourcePluginBase
- class \Drupal\migrate\Plugin\migrate\source\SourcePluginBase extends \Drupal\migrate\Plugin\MigrateSourceInterface, \Drupal\migrate\Event\RollbackAwareInterface implements \Drupal\Core\Plugin\PluginBase
- class \Drupal\Core\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait implements \Drupal\Component\Plugin\PluginBase
Expanded class hierarchy of MigrateExternalTranslatedTestSource
File
-
core/
modules/ migrate/ tests/ modules/ migrate_external_translated_test/ src/ Plugin/ migrate/ source/ MigrateExternalTranslatedTestSource.php, line 15
Namespace
Drupal\migrate_external_translated_test\Plugin\migrate\sourceView source
class MigrateExternalTranslatedTestSource extends SourcePluginBase {
/**
* The data to import.
*
* @var array
*/
protected $import = [
[
'name' => 'cat',
'title' => 'Cat',
'lang' => 'English',
],
[
'name' => 'cat',
'title' => 'Chat',
'lang' => 'French',
],
[
'name' => 'cat',
'title' => 'Gato',
'lang' => 'Spanish',
],
[
'name' => 'dog',
'title' => 'Dog',
'lang' => 'English',
],
[
'name' => 'dog',
'title' => 'Chien',
'lang' => 'French',
],
[
'name' => 'monkey',
'title' => 'Monkey',
'lang' => 'English',
],
];
/**
* {@inheritdoc}
*/
public function fields() {
return [
'name' => $this->t('Unique name'),
'title' => $this->t('Title'),
'lang' => $this->t('Language'),
];
}
/**
* {@inheritdoc}
*/
public function __toString() {
return '';
}
/**
* {@inheritdoc}
*/
public function getIds() {
$ids['name']['type'] = 'string';
if (!$this->configuration['default_lang']) {
$ids['lang']['type'] = 'string';
}
return $ids;
}
/**
* {@inheritdoc}
*/
protected function initializeIterator() {
$data = [];
// Keep the rows with the right languages.
$want_default = $this->configuration['default_lang'];
foreach ($this->import as $row) {
$is_english = $row['lang'] == 'English';
if ($want_default == $is_english) {
$data[] = $row;
}
}
return new \ArrayIterator($data);
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.