class TermNode
Same name in other branches
- 9 core/modules/taxonomy/src/Plugin/migrate/source/d6/TermNode.php \Drupal\taxonomy\Plugin\migrate\source\d6\TermNode
- 8.9.x core/modules/taxonomy/src/Plugin/migrate/source/d6/TermNode.php \Drupal\taxonomy\Plugin\migrate\source\d6\TermNode
- 10 core/modules/taxonomy/src/Plugin/migrate/source/d6/TermNode.php \Drupal\taxonomy\Plugin\migrate\source\d6\TermNode
Drupal 6 term/node relationships (current revision) source from database.
Available configuration keys:
- vid: (optional) The taxonomy vocabulary (vid) to filter terms retrieved from the source - should be an integer. If omitted, all terms are retrieved.
Example:
source:
plugin: d6_term_node
vid: 7
In this example the relations between nodes and terms are retrieved from the source database. Source rows include only terms that belong to the vocabulary with 'vid' equal to 7.
For additional configuration keys, refer to the parent classes.
Plugin annotation
@MigrateSource(
id = "d6_term_node",
source_module = "taxonomy"
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
- class \Drupal\migrate\Plugin\migrate\source\SourcePluginBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\migrate\Plugin\MigrateSourceInterface, \Drupal\migrate\Event\RollbackAwareInterface
- class \Drupal\migrate\Plugin\migrate\source\SqlBase extends \Drupal\migrate\Plugin\migrate\source\SourcePluginBase implements \Drupal\Core\Plugin\ContainerFactoryPluginInterface, \Drupal\migrate\Plugin\RequirementsInterface
- class \Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase extends \Drupal\migrate\Plugin\migrate\source\SqlBase implements \Drupal\Component\Plugin\DependentPluginInterface uses \Drupal\Core\Entity\DependencyTrait
- class \Drupal\taxonomy\Plugin\migrate\source\d6\TermNode extends \Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase
- class \Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase extends \Drupal\migrate\Plugin\migrate\source\SqlBase implements \Drupal\Component\Plugin\DependentPluginInterface uses \Drupal\Core\Entity\DependencyTrait
- class \Drupal\migrate\Plugin\migrate\source\SqlBase extends \Drupal\migrate\Plugin\migrate\source\SourcePluginBase implements \Drupal\Core\Plugin\ContainerFactoryPluginInterface, \Drupal\migrate\Plugin\RequirementsInterface
- class \Drupal\migrate\Plugin\migrate\source\SourcePluginBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\migrate\Plugin\MigrateSourceInterface, \Drupal\migrate\Event\RollbackAwareInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
Expanded class hierarchy of TermNode
See also
\Drupal\migrate\Plugin\migrate\source\SqlBase
\Drupal\migrate\Plugin\migrate\source\SourcePluginBase
File
-
core/
modules/ taxonomy/ src/ Plugin/ migrate/ source/ d6/ TermNode.php, line 38
Namespace
Drupal\taxonomy\Plugin\migrate\source\d6View source
class TermNode extends DrupalSqlBase {
/**
* The join options between the node and the term node table.
*/
const JOIN = '[tn].[vid] = [n].[vid]';
/**
* {@inheritdoc}
*/
public function query() {
$query = $this->select('term_node', 'tn')
->distinct()
->fields('tn', [
'nid',
'vid',
])
->fields('n', [
'type',
]);
// Because this is an inner join it enforces the current revision.
$query->innerJoin('term_data', 'td', '[td].[tid] = [tn].[tid] AND [td].[vid] = :vid', [
':vid' => $this->configuration['vid'],
]);
$query->innerJoin('node', 'n', static::JOIN);
return $query;
}
/**
* {@inheritdoc}
*/
public function fields() {
return [
'nid' => $this->t('The node revision ID.'),
'vid' => $this->t('The node revision ID.'),
'tid' => $this->t('The term ID.'),
];
}
/**
* {@inheritdoc}
*/
public function prepareRow(Row $row) {
// Select the terms belonging to the revision selected.
$query = $this->select('term_node', 'tn')
->fields('tn', [
'tid',
])
->condition('n.nid', $row->getSourceProperty('nid'));
$query->join('node', 'n', static::JOIN);
$query->innerJoin('term_data', 'td', '[td].[tid] = [tn].[tid] AND [td].[vid] = :vid', [
':vid' => $this->configuration['vid'],
]);
$row->setSourceProperty('tid', $query->execute()
->fetchCol());
return parent::prepareRow($row);
}
/**
* {@inheritdoc}
*/
public function getIds() {
$ids['vid']['type'] = 'integer';
$ids['vid']['alias'] = 'tn';
return $ids;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
DependencyTrait::$dependencies | protected | property | The object's dependencies. | ||
DependencyTrait::addDependencies | protected | function | Adds multiple dependencies. | ||
DependencyTrait::addDependency | protected | function | Adds a dependency. | ||
DrupalSqlBase::$entityTypeManager | protected | property | The entity type manager. | ||
DrupalSqlBase::$requirements | protected | property | If the source provider is missing. | ||
DrupalSqlBase::$systemData | protected | property | The contents of the system table. | ||
DrupalSqlBase::calculateDependencies | public | function | Calculates dependencies for the configured plugin. | Overrides DependentPluginInterface::calculateDependencies | |
DrupalSqlBase::checkRequirements | public | function | Checks if requirements for this plugin are OK. | Overrides SqlBase::checkRequirements | 4 |
DrupalSqlBase::create | public static | function | Creates an instance of the plugin. | Overrides SqlBase::create | 2 |
DrupalSqlBase::getModuleSchemaVersion | protected | function | Retrieves a module schema_version from the source Drupal database. | ||
DrupalSqlBase::getSystemData | public | function | Retrieves all system data information from the source Drupal database. | ||
DrupalSqlBase::moduleExists | protected | function | Checks if a given module is enabled in the source Drupal database. | ||
DrupalSqlBase::variableGet | protected | function | Reads a variable from a source Drupal database. | ||
DrupalSqlBase::__construct | public | function | Overrides SqlBase::__construct | 5 | |
MigrateSourceInterface::NOT_COUNTABLE | constant | Indicates that the source is not countable. | |||
PluginInspectionInterface::getPluginDefinition | public | function | Gets the definition of the plugin implementation. | 6 | |
PluginInspectionInterface::getPluginId | public | function | Gets the plugin ID of the plugin instance. | 2 | |
SourcePluginBase::$cache | protected | property | The backend cache. | ||
SourcePluginBase::$cacheCounts | protected | property | Whether this instance should cache the source count. | 1 | |
SourcePluginBase::$cacheKey | protected | property | Key to use for caching counts. | ||
SourcePluginBase::$currentRow | protected | property | The current row from the query. | ||
SourcePluginBase::$currentSourceIds | protected | property | The primary key of the current row. | ||
SourcePluginBase::$highWaterProperty | protected | property | Information on the property used as the high-water mark. | ||
SourcePluginBase::$highWaterStorage | protected | property | The key-value storage for the high-water value. | ||
SourcePluginBase::$idMap | protected | property | The migration ID map. | ||
SourcePluginBase::$iterator | protected | property | The iterator to iterate over the source rows. | ||
SourcePluginBase::$mapRowAdded | protected | property | Flags whether source plugin will read the map row and add to data row. | ||
SourcePluginBase::$migration | protected | property | The entity migration object. | ||
SourcePluginBase::$moduleHandler | protected | property | The module handler service. | 2 | |
SourcePluginBase::$originalHighWater | protected | property | The high water mark at the beginning of the import operation. | ||
SourcePluginBase::$skipCount | protected | property | Whether this instance should not attempt to count the source. | 1 | |
SourcePluginBase::$trackChanges | protected | property | Flags whether to track changes to incoming data. | 1 | |
SourcePluginBase::aboveHighWater | protected | function | Check if the incoming data is newer than what we've previously imported. | ||
SourcePluginBase::count | public | function | Gets the source count. | 2 | |
SourcePluginBase::current | public | function | |||
SourcePluginBase::getCache | protected | function | Gets the cache object. | ||
SourcePluginBase::getCurrentIds | public | function | Gets the currentSourceIds data member. | ||
SourcePluginBase::getHighWater | protected | function | The current value of the high water mark. | ||
SourcePluginBase::getHighWaterField | protected | function | Get the name of the field used as the high watermark. | ||
SourcePluginBase::getHighWaterProperty | protected | function | Get information on the property used as the high watermark. | ||
SourcePluginBase::getHighWaterStorage | protected | function | Get the high water storage object. | ||
SourcePluginBase::getIterator | protected | function | Returns the iterator that will yield the row arrays to be processed. | ||
SourcePluginBase::getModuleHandler | protected | function | Gets the module handler. | ||
SourcePluginBase::getSourceModule | public | function | Overrides MigrateSourceInterface::getSourceModule | ||
SourcePluginBase::key | public | function | Gets the iterator key. | ||
SourcePluginBase::next | public | function | |||
SourcePluginBase::postRollback | public | function | Overrides RollbackAwareInterface::postRollback | ||
SourcePluginBase::preRollback | public | function | Overrides RollbackAwareInterface::preRollback | ||
SourcePluginBase::rowChanged | protected | function | Checks if the incoming row has changed since our last import. | ||
SourcePluginBase::saveHighWater | protected | function | Save the new high water mark. | ||
SourcePluginBase::valid | public | function | Checks whether the iterator is currently valid. | ||
SqlBase::$batch | protected | property | The count of the number of batches run. | ||
SqlBase::$batchSize | protected | property | Number of records to fetch from the database during each batch. | ||
SqlBase::$database | protected | property | The database object. | 1 | |
SqlBase::$query | protected | property | The query string. | 81 | |
SqlBase::$state | protected | property | State service for retrieving database info. | ||
SqlBase::doCount | protected | function | Gets the source count using countQuery(). | Overrides SourcePluginBase::doCount | 6 |
SqlBase::fetchNextBatch | protected | function | Prepares query for the next set of data from the source database. | ||
SqlBase::fetchNextRow | protected | function | Position the iterator to the following row. | Overrides SourcePluginBase::fetchNextRow | |
SqlBase::getDatabase | public | function | Gets the database connection object. | 2 | |
SqlBase::initializeIterator | protected | function | Overrides SourcePluginBase::initializeIterator | 18 | |
SqlBase::mapJoinable | protected | function | Checks if we can join against the map table. | 1 | |
SqlBase::prepareQuery | protected | function | Adds tags and metadata to the query. | ||
SqlBase::rewind | public | function | Overrides SourcePluginBase::rewind | ||
SqlBase::select | protected | function | Wrapper for database select. | ||
SqlBase::setUpDatabase | protected | function | Gets a connection to the referenced database. | ||
SqlBase::__sleep | public | function | |||
SqlBase::__toString | public | function | Prints the query string when the object is used as a string. | Overrides MigrateSourceInterface::__toString | |
TermNode::fields | public | function | Returns available fields on the source. | Overrides MigrateSourceInterface::fields | |
TermNode::getIds | public | function | Defines the source fields uniquely identifying a source row. | Overrides MigrateSourceInterface::getIds | |
TermNode::JOIN | constant | The join options between the node and the term node table. | 1 | ||
TermNode::prepareRow | public | function | Adds additional data to the row. | Overrides SourcePluginBase::prepareRow | |
TermNode::query | public | function | Overrides SqlBase::query |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.