function uc_attribute_product_description in Ubercart 6.2
Implements hook_product_description().
File
- uc_attribute/
uc_attribute.module, line 596
Code
function uc_attribute_product_description($product) {
$description = array(
'attributes' => array(
'#product' => array(
'#type' => 'value',
'#value' => $product,
),
'#theme' => 'uc_product_attributes',
'#weight' => 1,
),
);
$desc =& $description['attributes'];
// Cart version of the product has numeric attribute => option values so we
// need to retrieve the right ones
$weight = 0;
if (empty($product->order_id)) {
foreach (_uc_cart_product_get_options($product) as $option) {
if (!isset($desc[$option['aid']])) {
$desc[$option['aid']]['#attribute_name'] = $option['attribute'];
$desc[$option['aid']]['#options'] = array(
$option['name'],
);
}
else {
$desc[$option['aid']]['#options'][] = $option['name'];
}
$desc[$option['aid']]['#weight'] = $weight++;
}
}
else {
foreach ((array) $product->data['attributes'] as $attribute => $option) {
$desc[] = array(
'#attribute_name' => $attribute,
'#options' => $option,
'#weight' => $weight++,
);
}
}
return $description;
}