管理画面の受注リストに項目の追加

2015 年 2 月 25 日

ホーム フォーラム その他 管理画面の受注リストに項目の追加

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

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

    maruo
    参加者

    ——————————————-
    WordPress のバージョン:4.1.1
    Welcart のバージョン: 1.4.12.1412031
    ご利用のテーマ:Pinboard
    症状を確認したブラウザ:
    サーバー(会社名、サービス名):ロリポップ
    SSLの利用:利用
    WordPress のパーマリンク設定:カスタム「/%post_id%.html」
    ——————————————–

    Welcart Management → 受注リスト
    を選択した際に出てくるリストの項目に「管理者メモ」を追加したいのですが、やり方が分かりません。ご伝授願えないでしょうか??

    以上

    #73608

    nanbu
    参加者

    こんにちは。

    フックを使ってカスタマイズすることになります。
    フックの使い方はご存知ですか?

    #73609

    maruo
    参加者

    nanbu様へ

    私はプログラマーですので、WPのフックは存じております。
    また、Welcartのこういった改造もフックにて改造するのも存じております。
    しかし「Welcart」専用のフックの仕様、調べ方、記述先などは分かっておらず、質問している次第でございます。

    以上

    #73624

    nanbu
    参加者

    了解です。背景がわからないとどこから説明して良いか分からない物で。
    丁寧のご質問いただくとしましたら、何がわからないのか具体的にご質問いただけると助かります。

    では、usc-e-shop/includes/order_list.php を見て下さい。
    カラムを後ろに追加するだけでしたら、フック’usces_filter_order_list_header’と’usces_filter_order_list_detail’だけで実現できます。

    管理者メモのデータは、この場合$usces->get_order_meta_value('order_memo', $array['ID'])とすれば取得できます。

    試してみて下さい。
    カラムを途中に入れたい場合は、データベースのSQLを操作する必要が出てきますので、さらに複雑になってきます。

    #73706

    maruo
    参加者

    nanbu様へ

    ご返答が遅くなりました。
    ヒントいただき、ありがとうございました。

    その後このシステムを使っていて、やはりこの記事のタイトル通り「管理画面の受注リストに項目の追加」をしたく格闘中です。前回ご返答頂いた「カラムを途中に入れたい場合」を目指しておりまして、プログラムを眺めながら、やはりつまづきましたので、ご伝授お願い致します。

    ■解析できた事
    usc-e-shop/includes/order_list.php
    $arr_column
    に、項目を追加すると、管理画面のリストに追加したい項目が表示される

    usc-e-shop/class/orderList.class.php
    ・SetSelectsクラスの「$select」に、追加したいフィールド(SQLで記述)を追加
    ・SetJoinTablesクラスの「$join_table」に、追加したいセレクト分を記載
    →これで「rows」の中に、任意の項目が追加された。

    しかし、HTML主力先である
    usc-e-shop/includes/order_list.phpのフック「usces_filter_order_list_header」から、追加した項目が呼び出されないで、フックの定義先を探すが見つからず。

    という感じです。
    聞きたいことは、いくつかあるのでまとめておきます。

    1.「usces_filter_order_list_header」の処理はどこに記述されているのですか??
    2.今探ってる状態は最終的にはフックで引っ掛けて、追記していくのは分かりますが、これを実装する方法がわかりません。

    以下実際に追加した内容を記載しておきます。
    =============================================================
    「管理者メモ」を任意の場所に追加する
    1.order_list.phpの「$arr_column」に以下を追加
    __(‘Order memo’, ‘usces’) => ‘order_memo’

    2.orderList.class.phpのSetSelectsクラス「$select」に以下を追加
    “meta02.meta_value AS order_memo”

    3.orderList.class.phpのSetJoinTablesクラス「$join_table」に以下を追加
    ” LEFT JOIN {$meta_table} AS meta02 ON ID = meta02.order_id AND meta02.meta_key = ‘order_memo'”.” \n”

    これで、rowsの中のデータに、管理者メモ(order_memo)が呼びだしされてますが、管理画面の部分には、項目があるけど表示されていません。
    =============================================================

    お手数ですが、ご返答お待ちしております。

    以上

    #73749

    nanbu
    参加者

    「usces_filter_order_list_header」と言うのはフックのハンドルですので、何か処理を行っているものではございません。フックに関しましてこちらをご覧ください。

    Welcart のカスタマイズとフック

    なお、WordPressのフックに関しましては、色んな情報がございますので他のサイトも検索してみて下さい。

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

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