1.8.5へアップデート後にカスタムしていた受注ステータスが反映しない

2016 年 6 月 20 日

ホーム フォーラム インストール 1.8.5へアップデート後にカスタムしていた受注ステータスが反映しない

このトピックには3件の返信が含まれ、2人の参加者がいます。11 ヶ月前 twinpiltzdaze さんが最後の更新を行いました。

4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #79484

    twinpiltzdaze
    参加者

    いつもWelcartを利用させて頂いております。

    本日クライアント様からご連絡頂き下記と同じ症状のものを解決するべく1.5.3から1.8.5へアップデートを行いました。
    https://www.welcart.com/community/forums/topic/%E3%82%AF%E3%83%AC%E3%82%B8%E3%83%83%E3%83%88%E3%82%AB%E3%83%BC%E3%83%89%E6%B1%BA%E6%B8%88%E3%81%A7%E3%81%AE%E5%85%A5%E9%87%91%E7%8A%B6%E6%B3%81%E6%AC%84%E3%81%AE%E8%A1%A8%E7%A4%BA

    プラグインアップデート後に受注リスト画面を見てみたのですが、
    これまで下記のソースを用いて、受注ステータスを2種類任意で追加しておりました。

    function ups_order_status($management_status){
    $management_status[‘custom1’] = ‘入金済み’;
    $management_status[‘custom2’] = ‘注文確認済み’;
    return $management_status;
    }
    add_filter(‘usces_filter_management_status’,’ups_order_status’);

    アップデート前までは受注一覧の対応状況にて、追加した2種類のものが反映されていたのですが、アップデート後「入金済み」「注文確認済み」にしてあった受注は、受注一覧では全て「新規受付」と表示されてしまっております。

    ただし個別の受注詳細画面では設定した2つのステータスは反映されているようです。

    1.8.5で受注一覧画面で追加したステータスを反映させるにはどのようにすれば良いでしょうか?

    ご教示頂けますと幸いです。宜しくお願い致します。

    #79488

    yskysmr
    キーマスター

    こんにちは。

    こちらのトピックを参照してください。
    http://goo.gl/cR3KJr

    #79489

    twinpiltzdaze
    参加者

    yskysmr様

    ご連絡いただきましてありがとうございました。

    該当のトピックを確認し、function.phpに色々とソースを書いてみたのですが、
    理想の動作を行う事が出来ませんでした。

    これまでに書いていた
    function ups_order_status($management_status){
    $management_status[‘custom1’] = ‘入金済み’;
    $management_status[‘custom2’] = ‘注文確認済み’;
    return $management_status;
    }
    add_filter(‘usces_filter_management_status’,’ups_order_status’);

    というのはそのままにしている状態で、
    新しく「usces_filter_orderlist_process_status」というフックを使ってコードを記述させるのかと考えたのですが、
    どのように記述すれば「入金済み」「注文確認済み」のステータスを
    受注一覧画面に表示させる事が出来るのかが分かりません。

    また「操作フィールド表示」→「一括操作」→「対応状況」の検索部分では、上記2つのステータスは表示されています。

    大変お手数をおかけして申し訳ないのですが、ご教示頂く事は出来ないでしょうか?

    またwelcart自体はDeveropment Versionにしてあります。

    どうぞ宜しくお願い致します。

    #79593

    twinpiltzdaze
    参加者

    なんとか自己解決出来ましたのでシェアします。

    (例)ステータスに「入金済み」を追加して受注リスト一覧に「入金済み」が出力されるようにする場合

    functions.phpに

    function my_usces_filter_management_status($management_status){
    $management_status[‘custom1’] = ‘入金済み’;
    return $management_status;
    }
    add_filter(‘usces_filter_management_status’,’my_usces_filter_management_status’);

    でステータスに項目を追加して、

    function my_filter_orderlist_process_status($process_status, $value,$management_status){
    global $usces;
    if( $usces->is_status(‘duringorder’, $value) ){
    $process_status = esc_html($management_status[‘duringorder’]);
    }elseif( $usces->is_status(‘cancel’, $value) ){
    $process_status = esc_html($management_status[‘cancel’]);
    }elseif( $usces->is_status(‘completion’, $value) ){
    $process_status = esc_html($management_status[‘completion’]);
    }elseif( $usces->is_status(‘custom1’, $value) ){
    $process_status = esc_html(‘入金済み’);
    }else{
    $process_status = esc_html(__(‘new order’, ‘usces’));
    }
    return $process_status;
    }
    add_filter(‘usces_filter_orderlist_process_status’,’my_filter_orderlist_process_status’, 10, 3, 2);

    で受注リストに項目が表示されるようになりました。

    上記の場合は「新規受付 / 取り寄せ中 / キャンセル / 発送済み / 入金済み」の5項目を使用する場合なので、他の項目を使用する場合は、
    my_filter_orderlist_process_statusのifとelseif部分を使用する項目分だけ分岐させる必要がある?と思っています。

    もっとスマートなやり方があればどなたか宜しくお願い致します。

4件の投稿を表示中 - 1 - 4件目 (全4件中)

このトピックに返信するにはログインが必要です。