No replies
netslave's picture
Offline
Joined: 05/22/2008
Juice: 187
Was this information Helpful?

Hy Guys,

I have a little problem with the hook_cart_display. I want to show a special picture in cart display. But this is not possible because you overwrite every time 'image' value.

<?php
//uc_cart.module Line 866
foreach ($items as $item) {
   
$display_item = module_invoke($item->module, 'cart_display', $item);
    if (!empty(
$display_item)) {
     
$form['items'][$i] = $display_item;
     
$form['items'][$i]['image']['#value'] = uc_product_get_picture($display_item['nid']['#value'], 'cart');

     

$description = $display_item['title']['#value'] . $display_item['description']['#value'];
     
$form['items'][$i]['desc']['#value'] = $description;

     

$form['items'][$i]['title']['#type'] = 'value';
     
$form['items'][$i]['description']['#type'] = 'value';

      if (empty(

$display_item['qty'])) {
       
$form['items'][$i]['qty'] = array(
         
'#value' => '',
        );
      }

     

$form['items'][$i]['total'] = array(
       
'#value' => uc_price($display_item['#total'], $context),
       
'#theme' => 'uc_cart_view_price',
      );
     
$i++;
    }
  }
?>

it would be nice if you can change this little line

<?php
foreach ($items as $item) {
   
$display_item = module_invoke($item->module, 'cart_display', $item);
    if (!empty(
$display_item)) {
     
$form['items'][$i] = $display_item;
     
//changed here!
     
if ( !isset($form['items'][$i]['image']) )
      {
         
$form['items'][$i]['image']['#value'] = uc_product_get_picture($display_item['nid']['#value'], 'cart');
      }

     

$description = $display_item['title']['#value'] . $display_item['description']['#value'];
     
$form['items'][$i]['desc']['#value'] = $description;

     

$form['items'][$i]['title']['#type'] = 'value';
     
$form['items'][$i]['description']['#type'] = 'value';

      if (empty(

$display_item['qty'])) {
       
$form['items'][$i]['qty'] = array(
         
'#value' => '',
        );
      }

     

$form['items'][$i]['total'] = array(
       
'#value' => uc_price($display_item['#total'], $context),
       
'#theme' => 'uc_cart_view_price',
      );
     
$i++;
    }
  }
?>

So i can change the picture for display in cart ;- )