プラグイン一覧 / 切り売り・寸法指定
切り売り・寸法指定プラグイン
数量ではなく寸法で買える商品を作ります。欄の見出しは単位から決まり(長さ・重さ・面積・容量)、外れた寸法では購入手続きへ進めません。
単体で動きます。他のプラグインは要りません。
何のためのプラグインか
鋼材のオーダーカット、ケーブルの切り売り、生地の 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 円。
予定価格です。オーナーズストアでの販売開始時に変わる場合があります。
この条件で回るか、確かめてから決めてください
締め日、支払サイト、請求書の様式、会計ソフトへの受け渡し。合うかどうかは商習慣によって変わります。やりたいことを書いて送ってください。