You are here

public function EntityBundleableUIController::hook_menu in Entity API 7

Provides definitions for implementing hook_menu().

Overrides EntityContentUIController::hook_menu

File

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

Class

EntityBundleableUIController
UI controller providing UI for bundleable content entities.

Code

public function hook_menu() {
  $items = parent::hook_menu();

  // Extend the 'add' path.
  $items[$this->path . '/add'] = array(
    'title callback' => 'entity_ui_get_action_title',
    'title arguments' => array(
      'add',
      $this->entityType,
    ),
    'page callback' => 'entity_ui_bundle_add_page',
    'page arguments' => array(
      $this->entityType,
    ),
    'access callback' => 'entity_access',
    'access arguments' => array(
      'create',
      $this->entityType,
    ),
    'type' => MENU_LOCAL_ACTION,
  );
  $items[$this->path . '/add/%'] = array(
    'title callback' => 'entity_ui_get_action_title',
    'title arguments' => array(
      'add',
      $this->entityType,
      $this->id_count + 1,
    ),
    'page callback' => 'entity_ui_get_bundle_add_form',
    'page arguments' => array(
      $this->entityType,
      $this->id_count + 1,
    ),
    'access callback' => 'entity_access',
    'access arguments' => array(
      'create',
      $this->entityType,
    ),
  );
  if (!empty($this->entityInfo['admin ui']['file'])) {

    // Add in the include file for the entity form.
    foreach (array(
      '/add',
      '/add/%',
    ) as $path_end) {
      $items[$this->path . $path_end]['file'] = $this->entityInfo['admin ui']['file'];
      $items[$this->path . $path_end]['file path'] = isset($this->entityInfo['admin ui']['file path']) ? $this->entityInfo['admin ui']['file path'] : drupal_get_path('module', $this->entityInfo['module']);
    }
  }
  return $items;
}