class NodeController
Same name in other branches
- 9 core/modules/node/src/Controller/NodeController.php \Drupal\node\Controller\NodeController
- 8.9.x core/modules/node/src/Controller/NodeController.php \Drupal\node\Controller\NodeController
- 10 core/modules/node/src/Controller/NodeController.php \Drupal\node\Controller\NodeController
- 11.x core/modules/node/src/Controller/NodeController.php \Drupal\node\Controller\NodeController
Controller class for nodes.
This extends the DrupalDefaultEntityController class, adding required special handling for node objects.
Hierarchy
- class \DrupalDefaultEntityController implements \DrupalEntityControllerInterface
- class \NodeController extends \DrupalDefaultEntityController
Expanded class hierarchy of NodeController
2 string references to 'NodeController'
- hook_entity_info in modules/
system/ system.api.php - Inform the base system and the Field API about one or more entity types.
- node_entity_info in modules/
node/ node.module - Implements hook_entity_info().
File
-
modules/
node/ node.module, line 4157
View source
class NodeController extends DrupalDefaultEntityController {
protected function attachLoad(&$nodes, $revision_id = FALSE) {
// Create an array of nodes for each content type and pass this to the
// object type specific callback.
$typed_nodes = array();
foreach ($nodes as $id => $entity) {
$typed_nodes[$entity->type][$id] = $entity;
}
// Call object type specific callbacks on each typed array of nodes.
foreach ($typed_nodes as $node_type => $nodes_of_type) {
if (node_hook($node_type, 'load')) {
$function = node_type_get_base($node_type) . '_load';
$function($nodes_of_type);
}
}
// Besides the list of nodes, pass one additional argument to
// hook_node_load(), containing a list of node types that were loaded.
$argument = array_keys($typed_nodes);
$this->hookLoadArguments = array(
$argument,
);
parent::attachLoad($nodes, $revision_id);
}
protected function buildQuery($ids, $conditions = array(), $revision_id = FALSE) {
// Ensure that uid is taken from the {node} table,
// alias timestamp to revision_timestamp and add revision_uid.
$query = parent::buildQuery($ids, $conditions, $revision_id);
$fields =& $query->getFields();
unset($fields['timestamp']);
$query->addField('revision', 'timestamp', 'revision_timestamp');
$fields['uid']['table'] = 'base';
$query->addField('revision', 'uid', 'revision_uid');
return $query;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
DrupalDefaultEntityController::$cache | protected | property | Whether this entity type should use the static cache. | ||
DrupalDefaultEntityController::$entityCache | protected | property | Static cache of entities, keyed by entity ID. | ||
DrupalDefaultEntityController::$entityInfo | protected | property | Array of information about the entity. | ||
DrupalDefaultEntityController::$entityType | protected | property | Entity type for this controller instance. | ||
DrupalDefaultEntityController::$hookLoadArguments | protected | property | Additional arguments to pass to hook_TYPE_load(). | ||
DrupalDefaultEntityController::$idKey | protected | property | Name of the entity's ID field in the entity database table. | ||
DrupalDefaultEntityController::$revisionKey | protected | property | Name of entity's revision database table field, if it supports revisions. | ||
DrupalDefaultEntityController::$revisionTable | protected | property | The table that stores revisions, if the entity supports revisions. | ||
DrupalDefaultEntityController::cacheGet | protected | function | Gets entities from the static cache. | 1 | |
DrupalDefaultEntityController::cacheSet | protected | function | Stores entities in the static entity cache. | ||
DrupalDefaultEntityController::cleanIds | protected | function | Ensures integer entity IDs are valid. | ||
DrupalDefaultEntityController::filterId | protected | function | Callback for array_filter that removes non-integer IDs. | ||
DrupalDefaultEntityController::load | public | function | Implements DrupalEntityControllerInterface::load(). | Overrides DrupalEntityControllerInterface::load | |
DrupalDefaultEntityController::resetCache | public | function | Implements DrupalEntityControllerInterface::resetCache(). | Overrides DrupalEntityControllerInterface::resetCache | |
DrupalDefaultEntityController::__construct | public | function | Constructor: sets basic variables. | ||
NodeController::attachLoad | protected | function | Attaches data to entities upon loading. | Overrides DrupalDefaultEntityController::attachLoad | |
NodeController::buildQuery | protected | function | Builds the query to load the entity. | Overrides DrupalDefaultEntityController::buildQuery |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.