Ubercartのデフォルトでは商品一覧の先頭の列に数量が「3x」のような形式で表示されるが、この書式は日本では一般的ではない。国内でよく見かける「商品 | 数量 | 単価 | 小計」の書式に直す必要がある。
カート画面に列を追加する方法を調査。次のモジュールが利用できる。
http://www.ubercart.org/contrib/763
上記モジュールのコードの大半を流用する形で下記のTAPIrフックを書いて動作を確認。
function uc_jex_table_alter($table_id, $op, $args = NULL) {
switch ($table_id) {
case 'uc_cart_view_table':
switch ($op){
case 'fields':
$fields[] = array(
'name' => 'unit_price',
'title' => t('Unit price'),
'weight' => 2,
'enabled' => true,);
return $fields;
case 'data':
$subtotal = 0;
foreach ($args['#parameters'][1] as $item) {
$data['unit_price'][] = uc_currency_format($item->price);
$subtotal += $item->price * $item->qty;
}
$data['#footer'] = array(array(
'data' => '<strong>'. t('Subtotal:') .'</strong> '. uc_currency_format($subtotal),
'colspan' => 6,
'align' => 'right',
'nowrap' => 'nowrap',
'class' => 'subtotal'));
return $data;
}
break;
}
}