class NodeController

  1. cis7 modules/node/node.module NodeController
  2. cle7 modules/node/node.module NodeController
  3. elmsmedia7 modules/node/node.module NodeController
  4. icor7 modules/node/node.module NodeController
  5. meedjum_blog7 modules/node/node.module NodeController
  6. mooc7 modules/node/node.module NodeController

Controller class for nodes.

This extends the DrupalDefaultEntityController class, adding required special handling for node objects.


Expanded class hierarchy of NodeController


Contains filters are case sensitive
Namesort descending Modifiers Type Description
DrupalDefaultEntityController::$cache protected property Whether this entity type should use the static cache.
DrupalDefaultEntityController::$entityCache protected property Static cache of entities.
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.
DrupalDefaultEntityController::cacheSet protected function Stores entities in the static entity cache.
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


modules/node/node.module, line 4130
The core that allows content to be submitted to the site. Modules and scripts may programmatically submit nodes using the usual form API pattern.

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';
    // 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();
    $query->addField('revision', 'timestamp', 'revision_timestamp');
    $fields['uid']['table'] = 'base';
    $query->addField('revision', 'uid', 'revision_uid');
    return $query;
3 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().
og-7.x-1.x.database.php in sites/all/modules/ulmus/og/tests/og-7.x-1.x.database.php
Filled installation of Drupal 7.0, for test purposes.