class NodeComplete in Drupal 10
Same name in this branch
- 10 core/modules/node/src/Plugin/migrate/source/d6/NodeComplete.php \Drupal\node\Plugin\migrate\source\d6\NodeComplete
- 10 core/modules/node/src/Plugin/migrate/source/d7/NodeComplete.php \Drupal\node\Plugin\migrate\source\d7\NodeComplete
Same name and namespace in other branches
- 8 core/modules/node/src/Plugin/migrate/source/d7/NodeComplete.php \Drupal\node\Plugin\migrate\source\d7\NodeComplete
- 9 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 implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\migrate\Plugin\migrate\source\SourcePluginBase implements RollbackAwareInterface, MigrateSourceInterface
- class \Drupal\migrate\Plugin\migrate\source\SqlBase implements ContainerFactoryPluginInterface, RequirementsInterface
- class \Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase implements DependentPluginInterface uses DependencyTrait
- class \Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity
- class \Drupal\node\Plugin\migrate\source\d7\Node
- class \Drupal\node\Plugin\migrate\source\d7\NodeRevision
- class \Drupal\node\Plugin\migrate\source\d7\NodeComplete
- class \Drupal\node\Plugin\migrate\source\d7\NodeRevision
- class \Drupal\node\Plugin\migrate\source\d7\Node
- class \Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity
- class \Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase implements DependentPluginInterface uses DependencyTrait
- class \Drupal\migrate\Plugin\migrate\source\SqlBase implements ContainerFactoryPluginInterface, RequirementsInterface
- class \Drupal\migrate\Plugin\migrate\source\SourcePluginBase implements RollbackAwareInterface, MigrateSourceInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
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) {
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Node:: |
protected | property |
The module handler. Overrides SourcePluginBase:: |
|
Node:: |
public static | function |
Creates an instance of the plugin. Overrides DrupalSqlBase:: |
|
Node:: |
public | function |
Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides DrupalSqlBase:: |
|
NodeComplete:: |
public | function |
Overrides NodeRevision:: |
|
NodeComplete:: |
protected | function |
Adapt our query for translations. Overrides Node:: |
|
NodeComplete:: |
constant |
The join options between the node and the node_revisions_table. Overrides NodeRevision:: |
||
NodeComplete:: |
public | function |
Overrides Node:: |
|
NodeComplete:: |
public | function |
Overrides Node:: |
|
NodeRevision:: |
public | function |
Returns available fields on the source. Overrides Node:: |