EC-CUBE で B2B
構築を相談する

プラグイン一覧 / 切り売り・寸法指定

切り売り・寸法指定プラグイン

数量ではなく寸法で買える商品を作ります。欄の見出しは単位から決まり(長さ・重さ・面積・容量)、外れた寸法では購入手続きへ進めません。

単体で動きます。他のプラグインは要りません。

何のためのプラグインか

鋼材のオーダーカット、ケーブルの切り売り、生地の m 売り。「何個」ではなく「何ミリ」で 頼む商材があります。EC-CUBE は個数で買う前提なので、そのままでは売り方が合いません。

このプラグインは、商品ページと商品一覧の数量欄を寸法の欄に変えます。

商品ページの寸法入力

100mm 刻み・500mm から 6000mm までの みがき丸棒。数量欄が「長さ」の欄になっています。

主な機能

機能 内容
寸法での入力 商品ページと商品一覧の数量欄が寸法の欄になります
刻み 「100mm 刻み」のように、切れる単位を決めます
上下限 「500mm から 6000mm まで」を決めます
単位 mm、m、kg など。画面に出ます。見出しも単位に合わせて変わります
決まりの強制 範囲を外れた寸法では購入手続きへ進めません
カートでの表示 「寸法 1500 mm」と添えます

画面は1枚も増えません。 商品登録の画面に設定欄が加わり、フロントは本体の商品詳細と カートに差し込まれます。

商品登録の設定

入力 内容
この商品を切り売りする 入にすると、商品ページと商品一覧の数量欄が寸法の欄になります
単位 「mm」「m」「kg」など。画面に出ます
刻み この単位で数量に換算します。100 なら 1500mm は数量15です
最小 / 最大 空欄なら制限しません
欄の見出し 空欄なら単位から決めます

刻みを単位として、数量に持たせています

本体の数量は整数しか持てません(dtb_cart_item.quantity も dtb_order_item.quantity も decimal(10,0))。1.5m を数量に入れられません。

そこで刻みを単位として数量に持たせています。

設定 会員が入れる寸法 保存される数量 画面に出す値
100mm 刻み 1500mm 15 1500 mm
0.5m 刻み 12.5m 25 12.5 m

販売価格には「刻み1つあたり」の金額を入れてください。 100mm 刻みで 1m あたり 800円なら、販売価格は 80円です。

これなら本体のテーブルにも計算にも手を入れずに済み、在庫の引き当ても、点数の集計も、 送料の判定もそのまま動きます。

割り算は bcmath でやっています。浮動小数だと 0.1 刻みで 0.3 を割ると 2.9999… になり、 割り切れるはずの寸法が弾かれます。

欄の見出しは単位から決まります

「長さ」固定ではありません。 単位に合わせて見出しが変わります。

単位 見出し
mm / cm / m / km / 尺 / inch / ft 長さ
mg / g / kg / t / 匁 / 斤 重さ
㎡ / m² / cm² / 坪 / 畳 面積
ml / cc / L / ㎥ / 合 / 升 容量
上に当たらない単位 数量

当たらない単位に「長さ」とは出しません。 知らない単位のときは「数量」になります。 「正味重量」「切断長さ」のように呼び方が決まっている店は、商品登録の欄の見出しに 入れてください。入れたものがそのまま出ます。

カートと受注詳細の見出しも、これに合わせて変わります。

商品一覧からも買えます

一覧のカードでも数量欄が寸法の欄に変わります。詳細を開かずに、そのまま頼めます。

商品一覧の寸法入力

左はアルミ切粉(kg なので「重さ」)、右はみがき丸棒(mm なので「長さ」)。 同じ一覧に別の単位が並んでも、それぞれの見出しが出ます。

販売制限と在庫を入れ直してください

販売制限と在庫は「数量」で効きます。 刻みを単位にしているので、意味が変わります。

設定 100mm 刻みでの意味
販売制限数 5 500mm までしか買えない
在庫 20 2000mm 分しかない

切り売りにする商品では、販売制限を刻み単位で入れ直すか、空にしてください。 そのままだと、短い寸法しか買えない商品になります。 エラーは「販売制限数を 超えています」と出るので、寸法の問題だとは気づきにくいところです。

在庫も同じで、定尺の総延長を刻みで割った数を入れることになります。

サーバ側でも判定しています

寸法から数量への換算はブラウザでやっているので、数量を直に送れば決まりを外れた寸法が 通ります。 500mm からしか切れない鋼材に 100mm の注文が入り、現場では切れないものが 受注されます。

カート単位の検証で止めています。明細単位の検証にはしていません。本体はそちらの例外を 握って警告にするだけで、購入は止まらないためです。

数量を勝手に直しません。 どの寸法へ寄せるのが正しいかは店にしか決められません。 長いほうへ丸めれば勝手に高い買い物になり、短いほうへ丸めれば現場で使えないものが 届きます。

いまできないこと

項目 内容
同じ商品を違う寸法で同時にカートへ入れられません 本体のカートは商品規格で1行にまとめるためです。1500mm と 2000mm を一度に頼むには、2回に分けて注文していただく必要があります
同じ商品を続けて入れると寸法が足し算されます 1500mm を2回入れると「1500mm を2本」ではなく「3000mm を1本」になります。複数本を頼む運用には向きません
受注 CSV には数量(刻み単位)で出ます 寸法は「数量 × 刻み」で求めてください。管理画面の受注詳細には寸法を出しています
カット手数料に対応していません

発注単位管理との併用

同じ商品には両方を入れないでください。 発注単位管理は 「ケース単位」「10本から」を守らせるもので、こちらは寸法を数量へ換算するものです。 同じ商品に入れると条件が重なり、会員には理由の分からないエラーが出ます。

商品ごとに使い分けるぶんには問題ありません。

動作要件

項目 内容
EC-CUBE 4.4 系
PHP 8.2 / 8.3
データベース MySQL 8 / PostgreSQL 13 以上
依存プラグイン なし

刻みと上下限は小数3桁まで持てます。板厚 0.315mm のような値が実際にあるためです。

差し替えられるところ

主要な処理はインターフェースとして切ってあります。実装を差し替えれば動きが変わります。 自社の商習慣に合わない部分があれば、まず差し替えで済むかを確かめてください。

AI に書かせられます。このプラグインには CLAUDE.md と docs/extension-samples.md が 同梱されていて、差し替え口ごとにそのまま使えるサンプルが載っています。 やりたいことを日本語で伝えれば、AI コーディングツールが実装を書きます (くわしく)。

インターフェースできること
CutRuleProviderInterface切り売りの決まりの出どころを差し替える(基幹システムや在庫の定尺から取る、会員グループによって切れる範囲を変える)

入手する

オーナーズストアで購入

買い切りです。月額はかかりません。予定価格 税抜 50,000 円。

予定価格です。オーナーズストアでの販売開始時に変わる場合があります。

販売ページの準備ができ次第、ここに載せます。

導入を任せる

サーバーの用意から EC-CUBE の設置、プラグインの導入と設定まで請け負います。 商習慣に合わせた作り足しもご相談ください。

この条件で回るか、確かめてから決めてください

締め日、支払サイト、請求書の様式、会計ソフトへの受け渡し。合うかどうかは商習慣によって変わります。やりたいことを書いて送ってください。