class NodeComplete
Same name in this branch
- 9 core/modules/node/src/Plugin/migrate/source/d6/NodeComplete.php \Drupal\node\Plugin\migrate\source\d6\NodeComplete
Same name and namespace in other branches
- 11.x core/modules/node/src/Plugin/migrate/source/d6/NodeComplete.php \Drupal\node\Plugin\migrate\source\d6\NodeComplete
- 11.x core/modules/node/src/Plugin/migrate/source/d7/NodeComplete.php \Drupal\node\Plugin\migrate\source\d7\NodeComplete
Drupal 7 all node revisions source, including translation revisions.
For available configuration keys, refer to the parent classes.
Plugin annotation
@MigrateSource(
id = "d7_node_complete",
source_module = "node"
)
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\Plugin\migrate\source\SqlBase extends \Drupal\Core\Plugin\ContainerFactoryPluginInterface, \Drupal\migrate\Plugin\RequirementsInterface implements \Drupal\migrate\Plugin\migrate\source\SourcePluginBase
- class \Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase extends \Drupal\Component\Plugin\DependentPluginInterface uses \Drupal\Core\Entity\DependencyTrait implements \Drupal\migrate\Plugin\migrate\source\SqlBase
- class \Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity implements \Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase
- class \Drupal\node\Plugin\migrate\source\d7\Node implements \Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity
- class \Drupal\node\Plugin\migrate\source\d7\NodeRevision implements \Drupal\node\Plugin\migrate\source\d7\Node
- class \Drupal\node\Plugin\migrate\source\d7\NodeComplete implements \Drupal\node\Plugin\migrate\source\d7\NodeRevision
- class \Drupal\node\Plugin\migrate\source\d7\NodeRevision implements \Drupal\node\Plugin\migrate\source\d7\Node
- class \Drupal\node\Plugin\migrate\source\d7\Node implements \Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity
- class \Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity implements \Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase
- class \Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase extends \Drupal\Component\Plugin\DependentPluginInterface uses \Drupal\Core\Entity\DependencyTrait implements \Drupal\migrate\Plugin\migrate\source\SqlBase
- class \Drupal\migrate\Plugin\migrate\source\SqlBase extends \Drupal\Core\Plugin\ContainerFactoryPluginInterface, \Drupal\migrate\Plugin\RequirementsInterface 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 NodeComplete
See also
\Drupal\migrate\Plugin\migrate\source\SqlBase
\Drupal\migrate\Plugin\migrate\source\SourcePluginBase
File
-
core/
modules/ node/ src/ Plugin/ migrate/ source/ d7/ NodeComplete.php, line 21
Namespace
Drupal\node\Plugin\migrate\source\d7View source
class NodeComplete extends NodeRevision {
/**
* The join options between the node and the node_revisions_table.
*/
const JOIN = 'n.nid = nr.nid';
/**
* {@inheritdoc}
*/
public function query() {
$query = parent::query();
$query->orderBy('nr.vid');
// Get any entity translation revision data.
if ($this->getDatabase()
->schema()
->tableExists('entity_translation_revision')) {
$query->leftJoin('entity_translation_revision', 'etr', '[nr].[nid] = [etr].[entity_id] AND [nr].[vid] = [etr].[revision_id]');
$query->fields('etr', [
'entity_type',
'entity_id',
'revision_id',
'source',
'translate',
]);
$conditions = $query->orConditionGroup();
$conditions->condition('etr.entity_type', 'node');
$conditions->isNull('etr.entity_type');
$query->condition($conditions);
$query->addExpression("COALESCE([etr].[language], [n].[language])", 'language');
$query->addField('etr', 'uid', 'etr_uid');
$query->addField('etr', 'status', 'etr_status');
$query->addField('etr', 'created', 'etr_created');
$query->addField('etr', 'changed', 'etr_changed');
$query->orderBy('etr.revision_id');
$query->orderBy('etr.language');
}
return $query;
}
/**
* {@inheritdoc}
*/
public function prepareRow(Row $row) {
// Override properties when this is an entity translation revision. The tnid
// will be set in d7_node source plugin to the value of 'nid'.
if ($row->getSourceProperty('etr_created')) {
$row->setSourceProperty('vid', $row->getSourceProperty('revision_id'));
$row->setSourceProperty('created', $row->getSourceProperty('etr_created'));
$row->setSourceProperty('timestamp', $row->getSourceProperty('etr_changed'));
$row->setSourceProperty('revision_uid', $row->getSourceProperty('etr_uid'));
$row->setSourceProperty('source_langcode', $row->getSourceProperty('source'));
}
return parent::prepareRow($row);
}
/**
* {@inheritdoc}
*/
public function getIds() {
return [
'nid' => [
'type' => 'integer',
'alias' => 'n',
],
'vid' => [
'type' => 'integer',
'alias' => 'nr',
],
'language' => [
'type' => 'string',
'alias' => 'n',
],
];
}
/**
* {@inheritdoc}
*/
protected function handleTranslations(SelectInterface $query) {
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.