バージョン選択

フォーラム

メニュー

オンライン状況

38 人のユーザが現在オンラインです。 (31 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 38
もっと...

サイト内検索

質問 > 管理機能 > 受注管理内の処理でのご質問です。

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
webtamago
投稿日時: 2015/10/29 18:18
対応状況: −−−
常連
登録日: 2014/5/22
居住地:
投稿: 34
受注管理内の処理でのご質問です。
初歩的なご質問で申し訳ございません。

Ver 2.13.3 
サーバー Xサーバー

お問い合わせ管理機能を実装中なのですが、
・お問い合わせDB格納は完了
・お問い合わせ一覧表示(管理画面)は完了
・お問い合わせ返信機能は完了

メール一括通知を実装しようとしており 受注管理の内容を流用しながら作成しております。

LC_Page_Admin_Order_Mail.php (104行目)
 $this->tpl_order_id = $objFormParam->getValue('order_id');
のgetValue('order_id')はどこから値を拾ってきているのかわからないです。

TLP側で投げた値なのか、もっと別のところで定義されたものなのか・・・・

初歩的な質問で恐縮なのですが、だれかわかる方ご教授ください。






tsuji
投稿日時: 2015/10/29 20:23
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: 受注管理内の処理でのご質問です。
webtamago 様


受注管理画面の検索結果一覧のメール欄にチェックの入った最初の
受注のIDになります。



----------------
****************************************
株式会社システムフレンド
辻 拓也(takuya tsuji)
改造専門店・EC-CUBE工房
****************************************

webtamago
投稿日時: 2015/10/29 21:43
対応状況: −−−
常連
登録日: 2014/5/22
居住地:
投稿: 34
Re: 受注管理内の処理でのご質問です。
tsuji 様

ご回答誠にありがとうございます。

getValue('order_id')の記述で
>>受注管理画面の検索結果一覧のメール欄にチェックの入った最初の
受注のID

を取得する動作の認識で間違いないのでしょうか?

getValue('contact_id')
として流用しているのですが、DUMPをしてみても0が帰ってきてしまいます。


基礎の部分のご質問になっていて恐縮ではありますがご教授お願いいたします。
tsuji
投稿日時: 2015/10/30 9:38
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: 受注管理内の処理でのご質問です。
webtamago 様


> getValue('contact_id')
> として流用しているのですが、DUMPをしてみても0が帰ってきてしまいます。

lfInitParamに定義しておられなければ、データは取得できないと思います。
SC_FormParamはPOSTやGETなどの値のエラーチェックやコンバートを行う
クラスですので、POST値にcontact_idが含まれていなければ取得は
できないと思います。


また、注意点としてLC_Page_Admin_Order_Mailのorder_idは受注管理
から来たPOST値のmail_order_idを加工してその先頭をorder_idとして
いますので、POST値にそのままorder_idが入っているわけではありません。


受注管理と同様の仕組みで行うのであれば、contact_idは
例えば、問い合わせ一覧からmail_contact_idをPOSTで送り加工して
先頭のcontact_idだけ取得するような仕組みにする必要があると思います。


----------------
****************************************
株式会社システムフレンド
辻 拓也(takuya tsuji)
改造専門店・EC-CUBE工房
****************************************

webtamago
投稿日時: 2015/10/30 10:59
対応状況: −−−
常連
登録日: 2014/5/22
居住地:
投稿: 34
Re: 受注管理内の処理でのご質問です。
tsuji 様

細かい部分の説明までしていただき誠にありがとうございました。

lfInitParamの方もcontact_idとして定義はしています。

>>POST値のmail_order_id
の部分を mail_contact_id としてPOSTをしており LC_Page_Admin_Customer_Mail.php (75行目)
の部分でPOSTされたmail_contact_idの取得はできていました。

ご説明を読み込むと、
>>POST値のmail_order_idを加工してその先頭をorder_id
の動作の部分ができていないのかなと思いましたので、加工の部分の場所を知りたかった次第でした。

SC_FormParamの方を調べてみます。

tsuji
投稿日時: 2015/10/30 11:29
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: 受注管理内の処理でのご質問です。
webtamago 様

> >>POST値のmail_order_idを加工してその先頭をorder_id
> の動作の部分ができていないのかなと思いましたので、加工の部分の場所を知りたかった次第でした。

これは、LC_Page_Admin_Order_Mailのactionの下記に記述があります。
        $post = $_POST;
        //一括送信用の処理
        if (array_key_exists('mail_order_id', $post) and $post['mode'] == 'mail_select') {
            $post['order_id_array'] = implode(',', $post['mail_order_id']);
        } elseif (!array_key_exists('order_id_array', $post)) {
            $post['order_id_array'] = $post['order_id'];
        }

        //一括送信処理変数チェック(ここですべきかは課題)
        if (preg_match("/^[0-9|\,]*$/", $post['order_id_array'])) {
            $this->order_id_array = $post['order_id_array'];
        } else {
            //エラーで元に戻す
            SC_Response_Ex::sendRedirect(ADMIN_ORDER_URLPATH);
            SC_Response_Ex::actionExit();
        }

        //メール本文の確認例は初めの1受注とする
        if (!SC_Utils_Ex::isBlank($this->order_id_array)) {
            $order_id_array = split(',', $this->order_id_array);
            $post['order_id'] = intval($order_id_array[0]);
            $this->order_id_count = count($order_id_array);
        }


----------------
****************************************
株式会社システムフレンド
辻 拓也(takuya tsuji)
改造専門店・EC-CUBE工房
****************************************

webtamago
投稿日時: 2015/10/30 11:44
対応状況: −−−
常連
登録日: 2014/5/22
居住地:
投稿: 34
Re: 受注管理内の処理でのご質問です。
tsuji 様

迅速なご回答誠にありがとうございます。

mail_contact_id でpostしておりますので、以下のように記述しています。


//一括送信用の処理
if (array_key_exists('mail_contact_id', $post) and $post['mode'] == 'mail_select') {
$post['contact_id_array'] = implode(',', $post['mail_contact_id']);
} elseif (!array_key_exists('contact_id_array', $post)) {
$post['contact_id_array'] = $post['contact_id'];
}

//一括送信処理変数チェック(ここですべきかは課題)
if (preg_match("/^[0-9|\,]*$/", $post['contact_id_array'])) {
$this->contact_id_array = $post['contact_id_array'];
} else {
//エラーで元に戻す
SC_Response_Ex::sendRedirect(ADMIN_ORDER_URLPATH);
SC_Response_Ex::actionExit();
}

//メール本文の確認例は初めの1受注とする
if (!SC_Utils_Ex::isBlank($this->contact_id_array)) {
$contact_id_array = split(',', $this->contact_id_array);
$post['contact_id'] = intval($contact_id_array[0]);
$this->contact_id_array = count($contact_id_array);
}


// パラメーター管理クラス
$objFormParam = new SC_FormParam_Ex();
// パラメーター情報の初期化
$this->lfInitParam($objFormParam);

// POST値の取得
$objFormParam->setParam($post);
$objFormParam->convParam();
$this->tpl_contact_id = $objFormParam->getValue['contact_id'];

この内容ですと、最終行の
$this->tpl_contact_id をdumpしても0が帰ってきてしまいます。
$post['contact_id_array']のdumpは3個の値が入っている状態です。

LC_Page_Admin_Order_Mail.php の方でも同じ形でDUMPしても
$this->tpl_order_idには$post['order_id_array']と同じ数の値が入っていました。

これを理由に止まってしまっていました><


スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,961名です
総投稿数は110,019件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.