最近、SOY Shopでシンプルな物販だけではなく、

レンタル業務や業務アプリとして動作できるような開発が続いている。

SOY Shopの管理画面からの注文の商品登録の操作の見直しで登録作業の削減


これらの変則的な仕様が増えれば増えるに従って、


order_status_man


注文詳細にある注文状態の変更の各種項目の柔軟性のなさが目立つようになってきた。

今までは必要だと感じた項目を都度追加してきたけれども、

項目自体が邪魔になるところが増えてきた。

※例えば、在庫確認中等


そこでプラグインで項目を追加できる拡張ポイントを追加しました。


この追加によって、

レンタル業務用に開発した返送伝票番号記録プラグイン(プラグインID:returns_slip_number)で、


order_status_man1


注文状態に返却済みフラグを追加して選択可にし、


order_status_man2


order_status_man3


注文一覧ページにある検索フォームでも追加した項目を選択して検索することが出来ます。




項目を自身で追加したい場合は下記の方法がおすすめです。


はじめに

SOY Shopのプラグインやモジュールの複製方法を参考にして、

在庫確認中状態追加プラグイン(ID:add_status_check_stock_in)を複製します。

今回はプラグインIDをadd_status_hogeにして話を進めます。

※IDはadd_status_***の***のところに追加したい項目がわかる半角英数字が良い。


複製後、

/soyshop/webapp/src/module/plugins/add_status_hoge/soyshop.order.status.phpを開き、

function statusItem(){
	return array("11" => "在庫確認中");
}

function statusItem(){
	return array("21" => "hoge");
}

のようにします。

※arrayの左側の数字は5より大きく、127より小さければ何でも良いですが、11と12は既に使用しているのでこの2つは避けた方が良い。

※arrayの右側の値が注文状態に追加されるラベル(フラグ名)になります。


修正後に表示を確認してみると


order_status_man4


注文状態の変更にhogeの項目が追加されました。


もし、支払い状況の方の項目に追加したい場合は、

function paymentStatusItem(){
	return array("11" => "huga");
}

paymentStatusメソッドを追加して、注文状態と同じように一つの配列で数字と項目名を格納すれば良いです。

※arrayの左側の数字は5より大きく、127より小さければ何でも良い。


/soyshop/webapp/src/module/plugins/add_status_hoge/soyshop.order.status.php

で使用できるメソッドは

/soyshop/webapp/src/logic/plugin/extensions/soyshop.order.status.php

にあります。


今回のようなsoyshop.***.phpのファイルを拡張ポイントと呼びます。

拡張ポイントについての詳しい記載は下記の記事にあります。

SOY Shopプラグインの拡張ポイントについて


今回対応分を含んだパッケージは下記のサイトからダウンロード出来ます。

/soycms/soyshop/