You are here

public function EntityContentUIController::hook_menu in Entity API 7

Provides definitions for implementing hook_menu().

Overrides EntityDefaultUIController::hook_menu

1 call to EntityContentUIController::hook_menu()
EntityBundleableUIController::hook_menu in includes/entity.ui.inc
Provides definitions for implementing hook_menu().
1 method overrides EntityContentUIController::hook_menu()
EntityBundleableUIController::hook_menu in includes/entity.ui.inc
Provides definitions for implementing hook_menu().

File

includes/entity.ui.inc, line 514
Provides a controller for building an entity overview form.

Class

EntityContentUIController
UI controller providing UI for content entities.

Code

public function hook_menu() {
  $items = parent::hook_menu();
  $wildcard = isset($this->entityInfo['admin ui']['menu wildcard']) ? $this->entityInfo['admin ui']['menu wildcard'] : '%entity_object';

  // Unset the manage entity path, as the provided UI is for admin entities.
  unset($items[$this->path]);
  $defaults = array(
    'file' => $this->entityInfo['admin ui']['file'],
    'file path' => isset($this->entityInfo['admin ui']['file path']) ? $this->entityInfo['admin ui']['file path'] : drupal_get_path('module', $this->entityInfo['module']),
  );

  // Add view, edit and delete menu items for content entities.
  $items[$this->path . '/' . $wildcard] = array(
    'title callback' => 'entity_ui_get_page_title',
    'title arguments' => array(
      'view',
      $this->entityType,
      $this->id_count,
    ),
    'page callback' => 'entity_ui_entity_page_view',
    'page arguments' => array(
      $this->id_count,
    ),
    'load arguments' => array(
      $this->entityType,
    ),
    'access callback' => 'entity_access',
    'access arguments' => array(
      'view',
      $this->entityType,
      $this->id_count,
    ),
  ) + $defaults;
  $items[$this->path . '/' . $wildcard . '/view'] = array(
    'title' => 'View',
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'load arguments' => array(
      $this->entityType,
    ),
    'weight' => -10,
  ) + $defaults;
  $items[$this->path . '/' . $wildcard . '/edit'] = array(
    'page callback' => 'entity_ui_get_form',
    'page arguments' => array(
      $this->entityType,
      $this->id_count,
    ),
    'load arguments' => array(
      $this->entityType,
    ),
    'access callback' => 'entity_access',
    'access arguments' => array(
      'edit',
      $this->entityType,
      $this->id_count,
    ),
    'title' => 'Edit',
    'type' => MENU_LOCAL_TASK,
    'context' => MENU_CONTEXT_PAGE | MENU_CONTEXT_INLINE,
  ) + $defaults;
  $items[$this->path . '/' . $wildcard . '/delete'] = array(
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      $this->entityType . '_operation_form',
      $this->entityType,
      $this->id_count,
      'delete',
    ),
    'load arguments' => array(
      $this->entityType,
    ),
    'access callback' => 'entity_access',
    'access arguments' => array(
      'delete',
      $this->entityType,
      $this->id_count,
    ),
    'title' => 'Delete',
    'type' => MENU_LOCAL_TASK,
    'context' => MENU_CONTEXT_INLINE,
    'file' => $this->entityInfo['admin ui']['file'],
    'file path' => isset($this->entityInfo['admin ui']['file path']) ? $this->entityInfo['admin ui']['file path'] : drupal_get_path('module', $this->entityInfo['module']),
  ) + $defaults;
  return $items;
}