function uc_product_menu in Ubercart 7.3
Same name and namespace in other branches
- 5 uc_product/uc_product.module \uc_product_menu()
- 6.2 uc_product/uc_product.module \uc_product_menu()
Implements hook_menu().
File
- uc_product/
uc_product.module, line 14 - The product module for Ubercart.
Code
function uc_product_menu() {
$items = array();
$items['admin/store/products'] = array(
'title' => 'Products',
'description' => 'Administer products, classes, and more.',
'page callback' => 'drupal_goto',
'page arguments' => array(
'admin/store/products/view',
),
'access arguments' => array(
'administer products',
),
'weight' => -2,
'position' => 'left',
);
// admin/store/products/view is provided by Views.
$items['admin/store/products/classes'] = array(
'title' => 'Manage classes',
'description' => 'Create and edit product node types.',
'access arguments' => array(
'administer product classes',
),
'page callback' => 'uc_product_class_default',
'weight' => -2,
'file' => 'uc_product.admin.inc',
);
$items['admin/store/settings/products'] = array(
'title' => 'Products',
'description' => 'Configure product settings.',
'access arguments' => array(
'administer products',
),
'page callback' => 'drupal_get_form',
'page arguments' => array(
'uc_product_settings_form',
),
'file' => 'uc_product.admin.inc',
);
// Insert subitems into the edit node page for product types.
$items['node/%node/edit/product'] = array(
'title' => 'Product',
'access callback' => 'uc_product_edit_access',
'access arguments' => array(
1,
),
'weight' => -10,
'type' => MENU_DEFAULT_LOCAL_TASK,
'file' => 'uc_product.admin.inc',
);
$features = module_invoke_all('uc_product_feature');
if (!empty($features)) {
$items['node/%node/edit/features'] = array(
'title' => 'Features',
'page callback' => 'uc_product_features',
'page arguments' => array(
1,
),
'access callback' => 'uc_product_feature_access',
'access arguments' => array(
1,
),
'weight' => 10,
'type' => MENU_LOCAL_TASK,
'file' => 'uc_product.admin.inc',
);
$items['node/%node/edit/features/%/%'] = array(
'page callback' => 'uc_product_feature_edit',
'page arguments' => array(
1,
4,
5,
),
'access callback' => 'uc_product_feature_access',
'access arguments' => array(
1,
),
'file' => 'uc_product.admin.inc',
);
$items['node/%node/edit/features/%/%uc_product_feature/delete'] = array(
'title' => 'Delete feature',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'uc_product_feature_confirm_delete',
1,
4,
5,
),
'access callback' => 'uc_product_feature_access',
'access arguments' => array(
1,
),
'file' => 'uc_product.admin.inc',
);
}
$items['admin/store/settings/products/defaults'] = array(
'access arguments' => array(
'administer products',
),
'page callback' => 'uc_product_image_defaults',
'type' => MENU_CALLBACK,
'file' => 'uc_product.admin.inc',
);
$items['admin/store/products/classes/%uc_product_class'] = array(
'title' => 'Product class',
'access arguments' => array(
'administer product classes',
),
'page callback' => 'drupal_get_form',
'page arguments' => array(
'uc_product_class_form',
4,
),
'file' => 'uc_product.admin.inc',
);
$items['admin/store/products/classes/%uc_product_class/edit'] = array(
'title' => 'Edit',
'type' => MENU_DEFAULT_LOCAL_TASK,
'weight' => -5,
'file' => 'uc_product.admin.inc',
);
$items['admin/store/products/classes/%uc_product_class/delete'] = array(
'access callback' => 'uc_product_class_delete_access',
'access arguments' => array(
4,
),
'page callback' => 'drupal_get_form',
'page arguments' => array(
'uc_product_class_delete_confirm',
4,
),
'file' => 'uc_product.admin.inc',
);
return $items;
}