You are here

function commerce_pdm_menu in Commerce (Product Display Manager) 7

Implements hook_menu().

File

./commerce_pdm.module, line 21
Commerce Display Manager Module.

Code

function commerce_pdm_menu() {
  $items = array(
    'node/%node/products' => array(
      'title' => 'Products',
      'type' => MENU_LOCAL_TASK,
      'page callback' => 'drupal_get_form',
      'page arguments' => array(
        'commerce_pdm_display_node_products_form',
        1,
      ),
      'access callback' => 'commerce_pdm_access_products_tab',
      'access arguments' => array(
        1,
      ),
    ),
    'admin/commerce/products/display_manager' => array(
      'title' => 'Display manager',
      'type' => MENU_LOCAL_TASK,
      'page callback' => 'commerce_pdm_product_display_manager_page',
      'access arguments' => array(
        'access product display manager',
      ),
      'file' => 'commerce_pdm.admin.inc',
    ),
    'commerce_pqr/autocomplete' => array(
      'title' => 'Autocomplete for existing display nodes',
      'page callback' => '_commerce_pdm_existing_displays_autocomplete',
      'access arguments' => array(
        'access content',
      ),
      'type' => MENU_CALLBACK,
    ),
    // Ajax callback path for returning info about a node.
    'commerce_pdm/get_node_info/%' => array(
      'page callback' => '_commerce_pdm_get_node_info',
      'page arguments' => array(
        2,
      ),
      // ToDo: Checkup permission.
      'access arguments' => array(
        'access content',
      ),
      'type' => MENU_CALLBACK,
    ),
  );

  // Create clone callbacks. These products based on other products in the same
  // Product Display, prepopulating the values of the base product.
  foreach (commerce_product_types() as $type => $product_type) {
    $items['admin/commerce/products/clone/' . strtr($type, array(
      '_' => '-',
    )) . '/%commerce_product'] = array(
      'title' => 'Create @name',
      'title arguments' => array(
        '@name' => $product_type['name'],
      ),
      'description' => $product_type['description'],
      'page callback' => 'commerce_pdm_product_ui_product_form_wrapper',
      'page arguments' => array(
        commerce_product_new($type),
        5,
      ),
      'access callback' => 'commerce_product_access',
      'access arguments' => array(
        'create',
        $type,
      ),
      'file' => 'commerce_pdm_product_clone.inc',
    );
  }
  return $items;
}