カートページでの数量変更をプルダウンにて行う。
-
投稿者投稿
-
2014年12月4日 3:17 PM #72956hiranot参加者
カートページでの数量変更をプルダウン操作にてより簡潔に行えるようにする方法等ありますでしょうか?添付画像のようなイメージです。
Attachments:
You must be logged in to view attached files.2014年12月6日 3:14 PM #72974nanbuキーマスターこんにちは。
テンプレートで数量フィールドを出力しているテンプレートタグは、です。これをセレクトに書き換えればよい訳ですが、商品のpost_idとSKUコードを渡さなくてはいけないので、ちょっと厄介です。
実際にはこの様になるかと思います。<select name="quant[<?php echo $post->ID; ?>][<?php echo urlencode(usces_the_itemSku('return')); ?>]" >
2014年12月11日 7:03 PM #73034hiranot参加者——————————————-
WordPress のバージョン:WordPress 4.0.1
Welcart のバージョン:1.4.12
ご利用のテーマ:オリジナル
症状を確認したブラウザ:Chrome
サーバー(会社名、サービス名):lolipop
SSLの利用: 無し
WordPress のパーマリンク設定:
——————————————–お世話になっております。返信ありがとうございました。
下記コード中の以下の箇所を書き換えてみましたが出来ませんでした。
どのように頂いたコードを記述すれば良いか、ご教授いただければ幸いです。■書き換えた箇所
<td><input name=”quant[‘ . $i . ‘][‘ . $post_id . ‘][‘ . $sku . ‘]” class=”quantity” type=”text” value=”‘ . esc_attr($cart_row[‘quantity’]) . ‘” /></td>■コード
/* カートページ ************/
add_filter( ‘usces_filter_cart_row’, ‘my_filter_cart_row’, 10, 3);
function my_filter_cart_row($row, $cart, $materials){
extract($materials);
$row = ”;
if ( empty($options) ) {
$optstr = ”;
$options = array();
}
$row .= ‘<tr>
<td>’ . ($i + 1) . ‘</td>
<td>’;
$cart_thumbnail = ‘‘ . wp_get_attachment_image( $pictid, array(60, 60), true ) . ‘‘;
$row .= apply_filters(‘usces_filter_cart_thumbnail’, $cart_thumbnail, $post_id, $pictid, $i,$cart_row);
$row .= ‘</td><td class=”aleft”>’ . esc_html($cartItemName) . ‘<br />’;
if( is_array($options) && count($options) > 0 ){
$optstr = ”;
foreach($options as $key => $value){
if( !empty($key) ) {
$key = urldecode($key);
if(is_array($value)) {
$c = ”;
$optstr .= esc_html($key) . ‘ : ‘;
foreach($value as $v) {
$optstr .= $c.nl2br(esc_html(urldecode($v)));
$c = ‘, ‘;
}
$optstr .= “<br />\n”;
} else {
$optstr .= esc_html($key) . ‘ : ‘ . nl2br(esc_html(urldecode($value))) . “<br />\n”;
}
}
}
$row .= apply_filters( ‘usces_filter_option_cart’, $optstr, $options);
}
$row .= ‘</td>
<td class=”aright”>’;
if( usces_is_gptekiyo($post_id, $sku_code, $quantity) ) {
$usces_gp = 1;
$Business_pack_mark = ‘<br />’;
$row .= apply_filters(‘usces_filter_itemGpExp_cart_mark’, $Business_pack_mark);
}
$row .= usces_crform($skuPrice, true, false, ‘return’) . ‘
</td>
<td><input name=”quant[‘ . $i . ‘][‘ . $post_id . ‘][‘ . $sku . ‘]” class=”quantity” type=”text” value=”‘ . esc_attr($cart_row[‘quantity’]) . ‘” /></td>
<td class=”aright”>’ . usces_crform(($skuPrice * $cart_row[‘quantity’]), true, false, ‘return’) . ‘</td>
<td>’;
foreach($options as $key => $value){
if(is_array($value)) {
foreach($value as $v) {
$row .= ‘<input name=”itemOption[‘ . $i . ‘][‘ . $post_id . ‘][‘ . $sku . ‘][‘ . $key . ‘][‘ . $v . ‘]” type=”hidden” value=”‘ . $v . ‘” />’;
}
} else {
$row .= ‘<input name=”itemOption[‘ . $i . ‘][‘ . $post_id . ‘][‘ . $sku . ‘][‘ . $key . ‘]” type=”hidden” value=”‘ . $value . ‘” />’;
}
}
$row .= ‘<input name=”itemRestriction[‘ . $i . ‘]” type=”hidden” value=”‘ . $itemRestriction . ‘” />
<input name=”stockid[‘ . $i . ‘]” type=”hidden” value=”‘ . $stockid . ‘” />
<input name=”itempostid[‘ . $i . ‘]” type=”hidden” value=”‘ . $post_id . ‘” />
<input name=”itemsku[‘ . $i . ‘]” type=”hidden” value=”‘ . $sku . ‘” />
<input name=”zaikonum[‘ . $i . ‘][‘ . $post_id . ‘][‘ . $sku . ‘]” type=”hidden” value=”‘ . esc_attr($skuZaikonum) . ‘” />
<input name=”skuPrice[‘ . $i . ‘][‘ . $post_id . ‘][‘ . $sku . ‘]” type=”hidden” value=”‘ . esc_attr($skuPrice) . ‘” />
<input name=”advance[‘ . $i . ‘][‘ . $post_id . ‘][‘ . $sku . ‘]” type=”hidden” value=”‘ . esc_attr($advance) . ‘” />
<input name=”delButton[‘ . $i . ‘][‘ . $post_id . ‘][‘ . $sku . ‘]” class=”delButton” type=”submit” value=”‘ . __(‘Delete’,’usces’) . ‘” />
</td>
</tr>’;return $row;
}2014年12月12日 5:41 PM #73053nanbuキーマスター大変失礼いたしました。商品詳細ページと勘違いをしておりました。
そのユーザー関数内の
<input name="quant[' . $i . '][' . $post_id . '][' . $sku . ']" class="quantity" type="text" value="' . esc_attr($cart_row['quantity']) . '" />
の部分に当たります。
<select name="quant[' . $i . '][' . $post_id . '][' . $sku . ']" class="quantity" />
とし、optionタグを置いて行くことになります。
※このフォーラムの記事でソースコードを書くときは、バックティック(`)で括るとちゃんとエスケープされて表示されます。
2014年12月16日 8:07 PM #73071hiranot参加者度々、申し訳ありません。
商品の在庫数を取得して表示したいのですが、optionタグ内にどのようにすれば記述すれば良いでしょうか。商品在庫が3個ならプルダウンにて1〜3を選択出来るというように出来ればと考えています。
また、プルダウンにて数量を変更した時に自動で金額を再計算するというようにしたいのですが可能でしょうか。
お手数おかけしますがご教示のほど、よろしくお願いいたします。 -
投稿者投稿
- このトピックに返信するにはログインが必要です。