class Book
Same name in this branch
- 11.x core/modules/book/src/Plugin/migrate/destination/Book.php \Drupal\book\Plugin\migrate\destination\Book
Same name in other branches
- 9 core/modules/book/src/Plugin/migrate/destination/Book.php \Drupal\book\Plugin\migrate\destination\Book
- 9 core/modules/book/src/Plugin/migrate/source/Book.php \Drupal\book\Plugin\migrate\source\Book
- 8.9.x core/modules/book/src/Plugin/migrate/destination/Book.php \Drupal\book\Plugin\migrate\destination\Book
- 8.9.x core/modules/book/src/Plugin/migrate/source/d6/Book.php \Drupal\book\Plugin\migrate\source\d6\Book
- 8.9.x core/modules/book/src/Plugin/migrate/source/Book.php \Drupal\book\Plugin\migrate\source\Book
- 10 core/modules/book/src/Plugin/migrate/destination/Book.php \Drupal\book\Plugin\migrate\destination\Book
- 10 core/modules/book/src/Plugin/migrate/source/Book.php \Drupal\book\Plugin\migrate\source\Book
Drupal 6/7 book source from database.
For available configuration keys, refer to the parent classes.
Plugin annotation
@MigrateSource(
id = "book",
source_module = "book",
)
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\book\Plugin\migrate\source\Book 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 Book
See also
\Drupal\migrate\Plugin\migrate\source\SqlBase
\Drupal\migrate\Plugin\migrate\source\SourcePluginBase
72 string references to 'Book'
- block.block.olivero_book_navigation.yml in core/
themes/ olivero/ config/ optional/ block.block.olivero_book_navigation.yml - core/themes/olivero/config/optional/block.block.olivero_book_navigation.yml
- Block::prepareRow in core/
modules/ block/ src/ Plugin/ migrate/ source/ Block.php - Adds additional data to the row.
- BlockConfigSchemaTest::setUp in core/
modules/ book/ tests/ src/ Kernel/ Block/ BlockConfigSchemaTest.php - book.info.yml in core/
modules/ book/ book.info.yml - core/modules/book/book.info.yml
- book.migrate_drupal.yml in core/
modules/ book/ migrations/ state/ book.migrate_drupal.yml - core/modules/book/migrations/state/book.migrate_drupal.yml
File
-
core/
modules/ book/ src/ Plugin/ migrate/ source/ Book.php, line 22
Namespace
Drupal\book\Plugin\migrate\sourceView source
class Book extends DrupalSqlBase {
/**
* {@inheritdoc}
*/
public function query() {
$query = $this->select('book', 'b')
->fields('b', [
'nid',
'bid',
]);
$query->join('menu_links', 'ml', '[b].[mlid] = [ml].[mlid]');
$ml_fields = [
'mlid',
'plid',
'weight',
'has_children',
'depth',
];
foreach (range(1, 9) as $i) {
$field = "p{$i}";
$ml_fields[] = $field;
$query->orderBy('ml.' . $field);
}
return $query->fields('ml', $ml_fields);
}
/**
* {@inheritdoc}
*/
public function getIds() {
$ids['mlid']['type'] = 'integer';
$ids['mlid']['alias'] = 'ml';
return $ids;
}
/**
* {@inheritdoc}
*/
public function fields() {
return [
'nid' => $this->t('Node ID'),
'bid' => $this->t('Book ID'),
'mlid' => $this->t('Menu link ID'),
'plid' => $this->t('Parent link ID'),
'weight' => $this->t('Weight'),
'p1' => $this->t('The first mlid in the materialized path. If N = depth, then pN must equal the mlid. If depth > 1 then p(N-1) must equal the parent link mlid. All pX where X > depth must equal zero. The columns p1 .. p9 are also called the parents.'),
'p2' => $this->t('The second mlid in the materialized path. See p1.'),
'p3' => $this->t('The third mlid in the materialized path. See p1.'),
'p4' => $this->t('The fourth mlid in the materialized path. See p1.'),
'p5' => $this->t('The fifth mlid in the materialized path. See p1.'),
'p6' => $this->t('The sixth mlid in the materialized path. See p1.'),
'p7' => $this->t('The seventh mlid in the materialized path. See p1.'),
'p8' => $this->t('The eighth mlid in the materialized path. See p1.'),
'p9' => $this->t('The ninth mlid in the materialized path. See p1.'),
];
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
Book::fields | public | function | Returns available fields on the source. | Overrides MigrateSourceInterface::fields | |
Book::getIds | public | function | Defines the source fields uniquely identifying a source row. | Overrides MigrateSourceInterface::getIds | |
Book::query | public | function | Overrides SqlBase::query | ||
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::prepareRow | public | function | Overrides MigrateSourceInterface::prepareRow | 49 | |
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 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.