uc_cart_links.module in Ubercart 6.2
Same filename and directory in other branches
Allows store owners to create links to add products to carts and send customers on to checkout.
File
uc_cart_links/uc_cart_links.moduleView source
<?php
/**
* @file
* Allows store owners to create links to add products to carts and send
* customers on to checkout.
*/
/*******************************************************************************
* Hook Functions (Drupal)
******************************************************************************/
/**
* Implements hook_menu().
*/
function uc_cart_links_menu() {
$items['admin/store/settings/cart_links'] = array(
'title' => 'Cart links settings',
'description' => 'Configure and craft special product add to cart links.',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'uc_cart_links_settings_form',
),
'access arguments' => array(
'administer cart links',
),
'type' => MENU_NORMAL_ITEM,
'file' => 'uc_cart_links.admin.inc',
);
$items['admin/store/reports/cart_links'] = array(
'title' => 'Cart links clicks',
'description' => 'Track clicks through cart links.',
'page callback' => 'uc_cart_links_report',
'access arguments' => array(
'view cart links report',
),
'type' => MENU_NORMAL_ITEM,
'file' => 'uc_cart_links.admin.inc',
);
$items['admin/store/help/cart_links'] = array(
'title' => 'Creating cart links',
'description' => 'Learn how to create cart links for your products.',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'uc_cart_links_creation_help',
),
'access arguments' => array(
'administer store',
),
'type' => MENU_NORMAL_ITEM,
'file' => 'uc_cart_links.admin.inc',
);
$items['cart/add/%'] = array(
'title' => 'Add to cart',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'uc_cart_links_form',
2,
),
'access arguments' => array(
'access content',
),
'type' => MENU_CALLBACK,
'file' => 'uc_cart_links.pages.inc',
);
return $items;
}
/**
* Implements hook_perm().
*/
function uc_cart_links_perm() {
return array(
'administer cart links',
'view cart links report',
);
}
/**
* Implements hook_add_to_cart().
*/
function uc_cart_links_add_to_cart($nid, $qty, $data) {
if (user_access('administer cart links') && variable_get('uc_cart_links_add_show', FALSE)) {
$cart_link = 'p' . $nid . '_q' . $qty;
if (!empty($data['attributes'])) {
foreach ($data['attributes'] as $attribute => $option) {
if (is_array($option)) {
// Checkbox options are stored in an array
foreach ($option as $oid => $ovalue) {
if ($ovalue != 0) {
$cart_link .= '_a' . $attribute . 'o' . $oid;
}
}
}
else {
// Textfield, Select, or Radio options
$cart_link .= '_a' . $attribute . 'o' . $option;
}
}
}
drupal_set_message(t('Cart link product action: @cart_link', array(
'@cart_link' => $cart_link,
)));
}
}
Functions
Name | Description |
---|---|
uc_cart_links_add_to_cart | Implements hook_add_to_cart(). |
uc_cart_links_menu | Implements hook_menu(). |
uc_cart_links_perm | Implements hook_perm(). |