商品管理 / 商品一覧 / 商品登録
バリエーションについて
商品に選択肢を設ける場合、「バリエーション」の「変更する」チェックをONにし、「形式を選択」より選択して設定できます。バリエーションは最大100✕100通りを設定できます。
- バリエーション
- オプショングループ
バリエーションでは、商品ごとに個別にサイズ・カラーなどのパターンを登録し、価格や在庫などを設定できます。
オプショングループは事前に「付属品」「ラッピング」など選択肢のグループを作成し、複数商品に紐づけをおこなえます。最大20個のプルダウンを表示し、選択肢により価格を加算・減算することもできます。
■makeshopサポート |
バリエーションとオプショングループを併用することはできません。
※初期値は「設定しない」です。バリエーションを解除する場合、バリエーションの削除をご参照ください。
※バリエーションとオプショングループ設定を切り替えた場合、登録情報は削除されます。ご注意ください。
販売価格と在庫設定について
バリエーションに「販売価格」を設定した場合、商品に設定した「販売価格」より優先されます。
バリエーションに「在庫」を設定した場合、注文などの在庫減少時にバリエーションの在庫と商品に設定した総在庫がそれぞれ減少します。
バリエーションに在庫を設定する場合、商品自体の総在庫は「バリエーション在庫の合計値 」または 「無制限」で設定してください。
バリエーションの設定・編集
登録済みの「バリエーション」の編集をおこなう場合、「変更する」チェックをONにしてから作業します。
「バリエーション設定」にて編集します。
■項目を編集する
「項目を編集する」よりバリエーションの内容を編集します。
「バリエーション項目」は、左の「6点ボタン」をドラッグすると、かんたんに並べ替えがおこなえます。
「この内容で決定」をクリック、「更新」で反映されます。
項目 | 登録/編集 | 詳細 |
---|---|---|
バリエーション名1 |
登録 編集 |
「サイズ」「カラー」などのバリエーション名を入力します。 バリエーション名1だけを指定することもできます。 |
バリエーション項目1 |
登録 編集 |
バリエーション名1の項目名を入力します。 |
バリエーション名2 |
登録 編集 |
「サイズ」「カラー」などのバリエーション名を入力します。 バリエーション名2を入れた場合、1と2をかけ合わせたパターンが表示されます。 |
バリエーション項目2 | 編集 | バリエーション名2の項目名を入力します。 |
初期値 ※ |
登録 編集 |
対象ページへ入った際に最初に表示される選択肢をONにします。 |
※「初期値」について
「バリエーション2のみ」に初期値を設定していた商品で、初期値が外れる不具合がありました。(2025/1/27改修済み)
2025/1/27以前にバリエーションに関する内容(在庫など)を管理画面で保存(CSVを除く)している場合、初期値が外れたまま保存されておりますので、必要に応じて再設定をおこなってください。
■「バリエーションを絞り込む」
「バリエーションを絞り込む」で表示した選択肢に対して個別・一括での編集がおこなえます。
一度選択した内容を解除するには、同じ選択肢を選ぶか、「すべて」を選択します。
■「まとめて編集する」
表示されたバリエーションに対し、バリエーション画像や在庫、価格、バリエーション独自コード、JANコードを一括で編集できます。
「バリエーションを絞り込む」で絞り込み結果のみに対しての設定も可能です。
■詳細の編集
各バリエーション、もしくは「バリエーションを絞り込む」で表示した選択肢に対して個別・「まとめて編集する」による一括の編集がおこなえます。
項目 | 登録/編集 | 詳細 |
---|---|---|
バリエーション画像 | 編集 | クリエイターモードご利用の場合に、バリエーションごとの画像を設定・表示できます。 |
販売価格 | 編集 | 「販売価格」を入力します。 消費税の設定・デザインにより、税込・税抜のいずれかでショップページに表示されます。 |
在庫数 | 編集 |
在庫を登録できます。 初期値は「無制限」です。在庫を設定する場合、鉛筆アイコンからおこなえます。 在庫は以下いずれかで登録・編集をおこなえます。
|
バリエーション独自コード | 編集 | バリエーションごとに商品を特定するためのコードを登録できます。 オプション一括登録(CSV)で商品情報を編集する場合の特定コードにも利用できます。 |
JANコード |
登録 編集 |
バリエーションごとのJANコードを登録できます。 |
▼設定動画
バリエーション画像設定
クリエイターモードご利用の場合に、「カラー」などバリエーションのパターン別に画像を設定・表示できます。
あらかじめ「サブ画像」を登録しておき、「サブ画像」から選択してください。
「バリエーション画像」の表示には、
ショップデザイン / テンプレート選択・編集(クリエイターモード)/ 商品詳細
へ変数タグの設定が必要です。
デザインについては「バリエーション画像」表示用のデザインについてを、商品ページの表示例についてはバリエーションの表示形式と表示例 をご参照ください。
▼3点リーダーより「画像を差し替え」を選択
▼サブ画像から選択して設定
- バリエーション画像設定はクリエイターモードのみ設定可能です。(ベーシックモードご利用中でも登録は可能ですが、表示はおこなえません)
- バリエーション画像は700件以上の紐づけ・表示を推奨できません。ショップページへの表示遅延や正常に保存が出来ないケースがございます。
- バリエーション画像は「マイページ」内の「注文履歴」「お気に入り」にも反映されます。
■設定済みの「バリエーション画像」が未設定となるケース
設定済みの「バリエーション画像」が自動で未設定となるケースは以下の通りです。
(CSVでの操作も含みます。操作時に「バリエーション画像」についてのアラートは表示されません。)
必要に応じて再設定をおこなってください。
■「バリエーション1」「バリエーション2」の登録あり └「バリエーション1」を削除した場合 ※バリエーション自体が削除され、商品全ての「バリエーション画像」が未設定となります └「バリエーション2」を削除した場合 ※商品全ての「バリエーション画像」が未設定となります ■「バリエーション1」のみ登録あり └「バリエーション1」を削除した場合 ※バリエーション自体が削除され、商品全ての「バリエーション画像」が未設定となります └「バリエーション2」を追加した場合 ※商品全ての「バリエーション画像」が未設定となります ■上記両方 └「バリエーション画像」に利用されている「複数商品画像」を変更 または 削除した場合 |
以下の場合、登録済みの「バリエーション画像」は維持されます。
└「バリエーション1・2名称(カラーなど)」やバリエーション選択肢(赤・白など)の文言変更
└バリエーション選択肢の追加(赤・白に黒を追加など)
└バリエーション選択肢の並び替え(赤・白を白・赤に変更など)
CSV等で「バリエーション画像」の設定をバックアップする機能はご用意がありません。
バリエーションの表示形式と表示例
バリエーションのショップページでの表示方法を選択します。クリエイターモードとベーシックモードで選択肢が異なります。
- クリエイターモード
- プルダウン
- 項目ごとに買い物かごを表示する
- ベーシックモード
- PC:プルダウン・表形式
- スマホ:プルダウン・項目ごとに買い物かごを表示する
※「バリエーション画像」の表示には、ショップデザイン / テンプレート選択・編集 / クリエイターモード / 商品詳細 へ 変数タグの設定が必要です。
ソース例は「バリエーション画像」表示用のデザインについてをご参照ください。
■「項目ごとに買い物かごを表示する(SKU)」設定
「バリエーション1・2」両方の登録がある商品では、「バリエーション1」の「バリエーション名」に画像が変わる項目を設定し、「バリエーション1」の選択肢単位で同じ「バリエーション画像」を登録することを推奨します。
(例:カラーとサイズを設定する場合はバリエーション1を「カラー」、バリエーション2を「サイズ」とし、「カラー」:ブラック ×「サイズ」:M・L いずれもブラックの画像を設定)
※【Complete/Manabito/&more/BRothers/Simplecase/Garden】初期値デザインに含まれるJavaScriptでは、「オプション1」に同じ画像が設定されている場合に画像を1つにまとめての表示が可能となるため。
「バリエーション1」の選択肢すべてに共通の画像を指定した場合【Complete】表示例
「オプション1」の選択肢すべてに異なる画像を指定した場合【Complete】表示例
商品詳細ページ【Complete】表示例
「バリエーション画像」を選択すると、商品詳細ページのメイン画像が「バリエーション画像」に切り替わって表示されます。
※別途JavaScriptの調整をおこなう必要があります。
(【Complete/Manabito/&more/BRothers/Simplecase/Garden】初期値デザインには含まれています)
ソース例は「バリエーション画像」表示用のデザインについてをご参照ください。
※ショップデザインによりJavaScriptがうまく動作しない場合があります。 この場合は選択に応じたメイン画像の切り替えはおこなわれません。 |
■「プルダウンで表示する」設定
商品詳細ページ【Complete】表示例
「バリエーション画像」を選択すると、商品詳細ページのメイン画像が「バリエーション画像」に切り替わって表示されます。
※別途JavaScriptの調整をおこなう必要があります。
(【Complete/Manabito/&more/BRothers/Simplecase/Garden】初期値デザインには含まれています)
ソース例は「バリエーション画像」表示用のデザインについてをご参照ください。
※ショップデザインによりJavaScriptがうまく動作しない場合があります。 この場合は選択に応じたメイン画像の切り替えはおこなわれません。 「項目ごとに買い物かごを表示する(SKU)」設定へ切り替え、選択肢ごとのオプション画像表示のみご利用ください。 |
買い物かごページ【Complete】表示例
「バリエーション画像」を選択すると、買い物かごページの商品画像が「バリエーション画像」に切り替わって表示されます。
※別途JavaScriptの調整をおこなう必要があります。
(【Complete/Manabito/&more/BRothers/Simplecase/Garden】初期値デザインには含まれています)
ソース例は「バリエーション画像」表示用のデザインについてをご参照ください。
「バリエーション画像」表示用のデザインについて
「バリエーション画像」を表示する場合、下記のソース例をご参考の上、ソースを追記してください。
※【Complete/Manabito/&more/BRothers/Simplecase/Garden】の初期値デザインには、「バリエーション画像」を表示するソースが含まれています。 商品詳細 :【Complete】2023/3/30以降、【Manabito/&more/BRothers】2023/4/20以降 |
クリエイターモード【Complete】サンプルソース
▼商品詳細:ショップデザイン / テンプレート選択・編集 / クリエイターモード / 商品詳細
HTML 表示例はバリエーション表示形式と表示例をご参照ください。
<table class="sku">
<tr class="sku-option">
<!-- SKU画像の余白分 -->
<th></th>
<!-- SKU画像の余白分ここまで -->
<th class="sku-option-title"><{$item.option_sku.option1_label}></th>
<{if $item.option_sku.has_option2}><th class="sku-option-title"><{$item.option_sku.option2_label}></th><{/if}>
<th></th>
</tr>
<{section name=i loop=$item.option_sku.list}>
<tr>
<!-- SKU画像のソース -->
<td class="sku-img">
<{if $item.option_sku.list[i].image_S != ''}>
<{if $item.option_sku.list[i.index_prev].image_S != $item.option_sku.list[i].image_S}>
<img src="<{$item.option_sku.list[i].image_S}>" data-option-image="<{$item.option_sku.list[i].image_L}>" class="option-image">
<{/if}>
<{/if}>
</td>
<!-- SKU画像のソースここまで -->
<td class="sku-option-name">
<{if $item.option_sku.list[i.index_prev].name1 != $item.option_sku.list[i].name1}>
<{$item.option_sku.list[i].name1}>
<{/if}>
</td>
<{if $item.option_sku.has_option2}><td class="sku-option-name"><{$item.option_sku.list[i].name2}></td><{/if}>
<td class="sku-cart">
<{if $item.is_subscription_only}>
<{if $item.option_sku.list[i].is_soldout}>
<div class="favorite-wrap">
<div class="disabled-btn btn sku-btn">売り切れ</div>
<div class="favorite">
<a href="<{$item.option_sku.list[i].favorite_entry_url}>"></a>
</div>
</div>
<{else}>
<{if $item.option_sku.list[i].is_stock_unlimited}>
<p class="item-stock item-stock-sku">在庫あり</p>
<{else}>
<{if $item.option_sku.list[i].is_small_stock}>
<p class="item-stock item-stock-sku">残りわずか<span class="item-stock-count">/あと<{$item.option_sku.list[i].stock_quantity}>個</span></p>
<{else}>
<p class="item-stock item-stock-sku">在庫あり<span class="item-stock-count">/あと<{$item.option_sku.list[i].stock_quantity}>個</span></p>
<{/if}>
<{/if}>
<div class="modal-open">
<a href="<{$item.option_sku.list[i].cart_entry_subscription_url}>" class="subscription-only subscription-btn btn sku-btn">定期購入する</a>
<div class="favorite">
<a href="<{$item.option_sku.list[i].favorite_entry_url}>"></a>
</div>
</div>
<{/if}>
<{elseif $item.is_subscription}>
<{if $item.option_sku.list[i].is_soldout}>
<div class="favorite-wrap">
<div class="disabled-btn btn sku-btn">売り切れ</div>
<div class="favorite">
<a href="<{$item.option_sku.list[i].favorite_entry_url}>"></a>
</div>
</div>
<{else}>
<{if $item.option_sku.list[i].is_stock_unlimited}>
<p class="item-stock item-stock-sku">在庫あり</p>
<{else}>
<{if $item.option_sku.list[i].is_small_stock}>
<p class="item-stock item-stock-sku">残りわずか<span class="item-stock-count">/あと<{$item.option_sku.list[i].stock_quantity}>個</span></p>
<{else}>
<p class="item-stock item-stock-sku">在庫あり<span class="item-stock-count">/あと<{$item.option_sku.list[i].stock_quantity}>個</span></p>
<{/if}>
<{/if}>
<div class="modal-open">
<a href="<{$item.option_sku.list[i].cart_entry_url}>" class="add-cart-btn btn sku-btn">カートに入れる</a>
<div class="favorite">
<a href="<{$item.option_sku.list[i].favorite_entry_url}>"></a>
</div>
</div>
<div class="modal-open">
<a href="<{$item.option_sku.list[i].cart_entry_subscription_url}>" class="subscription-btn btn sku-btn">定期購入する</a>
<div class="favorite">
<a href="<{$item.option_sku.list[i].favorite_entry_url}>"></a>
</div>
</div>
<{/if}>
<{else}>
<div class="sku-price-wrap">
<p class="price">¥<{$item.option_sku.list[i].price|number_format}><span>(税込)</span></p>
<{if $item.option_sku.list[i].is_soldout}>
<{if $item.is_restock_enabled}>
<div class="favorite-wrap">
<div><a href="<{$item.option_sku.list[i].restock_url}>" class="restock-btn btn sku-btn">再入荷お知らせ</a></div>
<div class="favorite">
<a href="<{$item.option_sku.list[i].favorite_entry_url}>"></a>
</div>
</div>
<{else}>
<div class="favorite-wrap">
<div class="disabled-btn btn sku-btn">売り切れ</div>
<div class="favorite">
<a href="<{$item.option_sku.list[i].favorite_entry_url}>"></a>
</div>
</div>
<{/if}>
<{else}>
<{if $item.option_sku.list[i].is_stock_unlimited}>
<p class="item-stock item-stock-sku">在庫あり</p>
<{else}>
<{if $item.option_sku.list[i].is_small_stock}>
<p class="item-stock item-stock-sku">残りわずか<span class="item-stock-count">/あと<{$item.option_sku.list[i].stock_quantity}>個</span></p>
<{else}>
<p class="item-stock item-stock-sku">在庫あり<span class="item-stock-count">/あと<{$item.option_sku.list[i].stock_quantity}>個</span></p>
<{/if}>
<{/if}>
</div>
<div class="modal-open">
<a href="<{$item.option_sku.list[i].cart_entry_url}>" class="add-cart-btn btn cart-order-btn sku-btn" data-button-id="cart-order">カートに入れる</a>
<div class="favorite">
<a href="<{$item.option_sku.list[i].favorite_entry_url}>"></a>
</div>
</div>
<{/if}>
<{/if}>
</td>
</tr>
<{/section}>
</table>
CSS 表示例はバリエーション表示形式と表示例をご参照ください。
.stock-wrap {
width: 100%;
margin-bottom: 8px;
}
.sku-btn {
width: 130px!important;
padding: 10px 0!important;
font-size: 12px!important;
}
.favorite a:after {
font-family: 'Font Awesome 5 Free';
content: "\f004";
font-size: 24px;
font-weight: 900;
margin-left: 14px;
margin-right: 4px;
color: #ff7683;
}
.sku-img {
vertical-align: middle;
}
.sku-img img {
padding-right: 20px;
}
.option-image {
max-width: 80px;
}
.option-image:hover {
cursor: pointer;
}
.sku-price-wrap .price {
margin: 0 6px 4px 0;
width: 100%;
}
@media screen and (max-width: 768px) {
.sku-cart .btn {
font-size: 12px;
max-width: 100px!important;
}
.sku-option-title {
font-size: 12px;
}
.option-image {
max-width: 40px;
}
}
@media screen and (max-width: 374px) {
/*以下削除
.sku-cart .btn {
min-width: 120px;
}
*/
}
JavaScript
$(function() {
$('img.option-image').on('click', function() {
showOptionImage($(this).attr('data-option-image'));
});
});
function makeshop_afterItemOptionChange(data) {
if (data.isSoldout) {
$('.instock').removeClass('on').addClass('off');
$('.outstock').removeClass('off').addClass('on');
} else {
$('.instock').removeClass('off').addClass('on');
$('.outstock').removeClass('on').addClass('off');
}
//makeshop_afterItemOptionChange内に入れてください
showOptionImage(data.imageL);
}
function showOptionImage(url) {
if (url == '') {
return;
}
$('div.item-image ul.choice-btn img[src="' + url + '"]').trigger('click');
}
▼買い物カゴ:ショップデザイン / テンプレート選択・編集 / クリエイターモード / 買い物カゴ
HTML 表示例はバリエーション表示形式と表示例をご参照ください。
<table class="cart-list-table">
<thead>
<tr>
<th>商品情報</th>
<th>価格(税込)</th>
<th>数量</th>
<th>小計</th>
</tr>
</thead>
<tbody>
<{section name=i loop=$cart.list}>
<tr>
<td>
<!--商品画像-->
<div class="cart-list-image">
<a href="<{$cart.list[i].url}>">
<{if $cart.list[i].selected_option.image_L}>
<img src="<{$cart.list[i].selected_option.image_L}>" alt="<{$cart.list[i].name}>">
<{else}>
<img src="<{$cart.list[i].image_S}>" alt="<{$cart.list[i].name}>">
<{/if}>
</a>
</div>
<!--商品情報-->
<div class="cart-list-info">
<p class="item-cart-title"><a href="<{$cart.list[i].url}>"><{$cart.list[i].name}></a></p>
<!--商品オプション-->
<{if $cart.list[i].selected_option.has_item}>
<div class="cart-list-option">
<{section name=j loop=$cart.list[i].selected_option.list}>
<p><{$cart.list[i].selected_option.list[j].title}>:<{$cart.list[i].selected_option.list[j].option_name}></p>
<{/section}>
</div>
<{/if}>
<!--獲得ポイント-->
<{if $shop.is_point_enabled}>
<{$cart.list[i].total_point|number_format}>ポイント獲得できます
<{/if}>
<!--名入れ-->
<{if $cart.list[i].name_print.has_item}>
<div class="cart-nameprint-area">
<{section name=j loop=$cart.list[i].name_print.list}>
<p class="nameprint-tilte"><{$cart.list[i].name_print.list[j].title}></p>
<p class="nameprint-tilte"><{$cart.list[i].name_print.list[j].name|escape|nl2br}></p>
<{/section}>
</div>
<{/if}>
</div>
</td>
<td class="item-cart-price">
<!--小計-->
¥<{$cart.list[i].price|number_format}>
</td>
<td class="item-cart-quantity">
<input type="text" data-id="<{$cart.list[i].quantity_id}>" value="<{$cart.list[i].quantity}>" name="item-quantity"><a href="<{$cart.list[i].quantity_url}>">更新</a>
<span class="item-cart-delete"><a href="<{$cart.list[i].remove_url}>">削除</a></span>
</td>
<td class="item-cart-subtotal">
¥<{$cart.list[i].total_price|number_format}>
</td>
</tr>
<{/section}>
<tr class="cart-total">
<!--商品合計金額-->
<td colspan="3" class="cart-total-title">商品合計</td>
<td colspan="1" class="cart-total-price-wrap">
<p class="cart-total-price">¥<{$cart.total_price|number_format}></p>
<p class="cart-total-point"><{$cart.total_point|number_format}>ポイント獲得できます</p>
<!--まとめ買い割引額-->
<{if $cart.bulk.has_item}>
<{section name=i loop=$cart.bulk.list}>
<p class="cart-bulk"><{$cart.bulk.list[i].name}> 割引額:¥<{$cart.bulk.list[i].discount_price}></p>
<{/section}>
<{/if}>
</td>
</tr>
</tbody>
</table>
バリエーションの削除
登録済みのバリエーションを削除する場合、「バリエーション」の「変更する」をONにし、「形式を選択」から「設定しない」を選択して更新してください。
※登録された選択肢の内容がすべて削除されます。かならずCSVなどでバックアップをお取りになってからおこなってください。