テーマのubercartカートページに小さな変更を加えたいです。
カートページの一般的な商品行は次のようになります
[remove button] [product image] [product title] [quantity field] [row total]
私がやりたいのは[remove button]
の後、右側に[quantity field]
。
これどうやってするの?
ショッピングカートフォームのデフォルトのUbercartのテーマを変更し、「削除」列の重みを増やして、最後にプッシュされるようにする必要があります。
次のコードをテーマのtemplate.php
ファイルに追加します。
/**
* Themes the uc_cart_view_form().
*/
function phptemplate_uc_cart_view_form($form) {
// Increase the weight of Remove column, so it goes to the end.
$form['items']['#columns']['remove']['weight'] = 100;
// The rest of the code is default Ubercart's code you can see in:
// theme_uc_cart_view_form() function in uc_cart.module.
drupal_add_css(drupal_get_path('module', 'uc_cart') .'/uc_cart.css');
$output = '<div class="uc-default-submit">';
$output .= drupal_render($form['update']);
$output .= '</div>';
unset($form['update']['#printed']);
$output .= '<div id="cart-form-products">'
. drupal_render($form['items']) .'</div>';
foreach (element_children($form['items']) as $i) {
foreach (array('title', 'options', 'remove', 'image', 'qty') as $column) {
$form['items'][$i][$column]['#printed'] = TRUE;
}
$form['items'][$i]['#printed'] = TRUE;
}
// Add the continue shopping element and cart submit buttons.
if (($type = variable_get('uc_continue_shopping_type', 'link')) != 'none') {
// Render the continue shopping element into a variable.
$cs_element = drupal_render($form['continue_shopping']);
// Add the element with the appropriate markup based on the display type.
if ($type == 'link') {
$output .= '<div id="cart-form-buttons"><div id="continue-shopping-link">'
. $cs_element .'</div>'. drupal_render($form) .'</div>';
}
elseif ($type == 'button') {
$output .= '<div id="cart-form-buttons"><div id="update-checkout-buttons">'
. drupal_render($form) .'</div><div id="continue-shopping-button">'
. $cs_element .'</div></div>';
}
}
else {
$output .= '<div id="cart-form-buttons">'. drupal_render($form) .'</div>';
}
return $output;
}