チェックアウトや注文最終確認などの商品一覧表の書式の変更

  • 2010-03-31 (水) 19:56 初版作成
    2013-12-18 (水) 15:06 最終更新

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;
  }
}

更新履歴

  • 2013-12-18 (水) 15:06

DISQUS コメント