返信先: カスタムで追加した「対応状況」が一括更新できない

フォーラム 使い方全般 カスタムで追加した「対応状況」が一括更新できない 返信先: カスタムで追加した「対応状況」が一括更新できない

#101312
Alicia
参加者

s_k 様

こんにちは。
ヒントになるかわかりませんが、少しだけ。

私の知るかぎりでは、6つのフックを設置いただいているようです。(他にも知ってる方がいれば、情報お持ちしています。)

・usces_filter_management_status (usc-e-shop/classes/orderList2.class.php 内) (済んでると思います。)

・usces_filter_orderlist_process_status (usc-e-shop/includes/member_edit_form.php 内 234付近 usc-e-shop/includes/order_list.php 内)  (済んでると思います。)

・usces_filter_orderlist_search_process_status (usc-e-shop/classes/orderList2.class.php 内)  (済んでますか?)

一括操作までしたいとすれば、
・usces_filter_collective_order_status_query (usc-e-shop/functions/function.php 内) ← たぶん今ココ。

が必要です。この付近には、さらに2つ、

 ステータス変更後に、何かするフック
・usces_action_collective_order_status_each
 「発送済み」に変更した後、ついでに発送完了メールも送信するとか、「入金済み」に変更した後、ついでに入金確認メールを送信&領収書印刷する とか?おそらくそういう類いのものかと思います。

 完了メッセージ後に、何かするフック
・usces_action_collective_order_status
 ・・・何も思いつかないのが悔しい。

もあるので、お好みでどうぞ。設置されたら共有いただけると嬉しいです。

ただ、一部問題もあるようです。usces_filter_collective_order_status_query では、
独自に追加したステータスから、元々存在している、duringorder, cancel, completion, new, への一括操作の場合には、現在のところ、この部分のクエリを変更するフックは存在しません。
その為、本来は文字列操作で追加したステータスを消去した上で、duringorder, cancel, completion, new に置き換えなければならないのですが、消去せずに追加されるだけなので、追加したステータスがゴミとして残ってしまいます。
これが原因で、受注検索では変更前の独自追加ステータスにも掛かってしまいます。解決する為には、個別に受注データ編集にて、「設定を更新」する必要があると思います。
他に、何か方法があるかもしれませんが、素人の私にはわかりませんでした。ご参考になればいいのですが。