グローブテックの技術ブログを始めました!随時記事をアップしていきますので是非ご覧ください★★

[EC-CUBE4.1]在庫数表示切替プラグインご紹介

在庫数表示切り替えプラグイン
在庫数表示切り替えプラグイン

EC-CUBEのプラグインを開発しましたのでご紹介します。

◆EC-CUBEとは…
株式会社イーシーキューブが開発するオープンソースのEC向けコンテンツ管理システム(CMS)になります。ECサイト開発プラットフォームとして15年以上の歴史と35,000超の稼働店舗数を持ちます。
EC-CUBEはECサイトとしての基本機能をデフォルトで備えていますので、
すぐに作ってみたいと考えられる方がいらっしゃいましたら
選択肢の一つにしてみてはいかがでしょうか。
弊社でもEC-CUBEによるECサイト構築を承っておりますのでお気軽にご相談ください。(宣伝)

ということでプラグインのご紹介に戻ります。
今回ご紹介するのは「在庫表示切替プラグイン」になります。
●対象バージョン:4.1.0/4.1.1/4.1.2

機能詳細についてはEC-CUBEストアにてご確認頂ければと思います。
本記事ではプラグイン概要及び開発に当たって考慮した技術的な部分について
ご紹介したいと思います。

【プラグイン紹介ページ】

在庫数表示切り替えプラグイン

在庫数表示切り替えプラグイン

プラグイン概要

EC-CUBEデフォルトの状態では、商品一覧、商品詳細ページに在庫数は表示されませんが、
本プラグインを導入することで商品一覧、商品詳細ページに在庫数に応じた表示が可能になります。

設定可能対象(在庫数)は以下になります。
1.無制限
2.1~65535(複数範囲指定可)
3.ゼロ

特徴

本プラグインの特徴としまして、単純に在庫数を表示するだけでなく
在庫数に応じて在庫数もしくは固定文言表示に切り替えることができます。
例えば以下のようなパターンなどに対応可能です。

【在庫数】 【表示】
■21以上 :在庫あり
■10~20   :在庫若干
■1~9    :在庫僅少
■ゼロ  :在庫なし ※リンクを設定し特定ページ(例えばお問合せページ)に遷移することも可能

在庫表示は訴求の重要ポイントになりますので
サイト運営者様にとって使い勝手の良い機能になるように開発しました。

開発ポイント

Symfonyフォーム

EC-CUBEではフレームワークとしてSymfonyを使用しています。
本プラグインでは複数項目の生成、削除を実装する必要があったため、
フォームにSymfonyのCollectionTypeを使って実装しました。
複数項目の生成、削除フォームは以下のように設定することで構築出来ました。

$builder
    ->add('test', CollectionType::class, [
        'entry_type' => TestType::class,
        'allow_add' => true,
    'allow_delete' => true,
        'prototype' => true,      ])
;

上記の例では以下のようにオプションを設定しています。
・entry_type :TestTypeを元にフォームを構築するように指定
・allow_add :画面側でフォームを追加出来るように指定
・allow_delete:画面側で削除したフォームをバックエンド側でも削除されるように指定
・prototype :プロトタイプ(追加されるフォームのテンプレート)を出力できるようにする

本開発では上記の他にプロトタイプの作成、フォームの追加処理等も実装しており
他のFormTypeで構築するより少し難易度が高く苦労しましたが、複数項目の生成、削除が
可能なCollectionTypeが有用であることが理解できました。

終わりに

本プラグインは随時アップデートしていきたいと考えております。
本プラグインにつきましてご質問、ご要望等ございましたら
プラグインページよりお気軽にお問合せください。

在庫数表示切り替えプラグイン

在庫数表示切り替えプラグイン

コメント

タイトルとURLをコピーしました