質問 > フロント機能 > 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
kanaryo |
投稿日時: 2014/3/10 10:10
対応状況: 解決済
|
常連 登録日: 2011/10/18 居住地: 投稿: 66 |
Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい yuh様
返信が遅れてしまい、大変申し訳ございません。 いけました!出来ました!! 前回に続いて懇切・丁寧に最後までご対応下さり、 感動いたしております。 ファイルまで作成下さったとのこと、恐縮至極に存じます。 感謝の意を活字でしか表現出来なくて歯がゆいのですが、 本当にありがとうございました。 また機会がございましたら、 何卒宜しくお願い申し上げます。m(__)m |
yuh |
投稿日時: 2014/3/7 23:12
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい すいません。
思いっきりバージョンが間違えてました。 2.11.4が無かったので2.11.5でためしに作ってみました。 家に帰ってきてためしに作ってみたので下記に変更部分記載します。 SC_Helper_PurchaseのcopyFromCustomerを下記に変更
LC_Page_ShoppingのlfRegistDataを下記に変更
LC_Page_ShoppingのlfInitParamに下記を追加
上記3箇所とテンプレート周りの追加でできました。 思いっきりバージョンを勘違いして混乱させてすみません。 メールを送ってもらえればこちらで作ったファイルを送ります。 |
kanaryo |
投稿日時: 2014/3/7 19:13
対応状況: −−−
|
常連 登録日: 2011/10/18 居住地: 投稿: 66 |
Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい yuh様
本当にお手数をおかけしてすみません。 試してみましたが、非ログイン時/ログイン時ともにシステムエラーとなり買い物が終了いたしません。 エラーログ?は非ログイン時、 エラーログ?はログイン時のもです。 検証願えますでしょうか・・・。 エラーログ? USER_AGENT: Mozilla/5.0 (Windows NT 6.1; rv:27.0) Gecko/20100101 Firefox/27.0 SQL: SELECT sess_data FROM dtb_session WHERE sess_id = ? MDB2 Error: connect failed _doConnect: [Error message: unable to establish a connection] [Native message: ] /virtual/www/eccube/html/test/html/resize_image.php 25:require_once /virtual/www/eccube/html/test/html/require.php 36:require_once /virtual/www/eccube/html/test/data/require_base.php 48:SC_SessionFactory_UseCookie->initSession /virtual/www/eccube/html/test/data/class/session/sessionfactory/SC_SessionFactory_UseCookie.php 55:session_start :SC_Helper_Session->sfSessRead /virtual/www/eccube/html/test/data/class/helper/SC_Helper_Session.php 68:SC_Query->select /virtual/www/eccube/html/test/data/class/SC_Query.php 150:SC_Query->getAll /virtual/www/eccube/html/test/data/class/SC_Query.php 262:SC_Query->prepare /virtual/www/eccube/html/test/data/class/SC_Query.php 873:MDB2_Driver_pgsql->prepare /virtual/www/eccube/html/test/data/module/MDB2/Driver/pgsql.php 956:MDB2_Driver_Common->getConnection /virtual/www/eccube/html/test/data/module/MDB2.php 1792:MDB2_Driver_pgsql->connect /virtual/www/eccube/html/test/data/module/MDB2/Driver/pgsql.php 484:MDB2_Driver_pgsql->_doConnect /virtual/www/eccube/html/test/data/module/MDB2/Driver/pgsql.php 438:MDB2_Driver_Common->raiseError /virtual/www/eccube/html/test/data/module/MDB2.php 1497:PEAR->raiseError /virtual/www/eccube/html/test/data/module/PEAR.php 557:MDB2_Error->MDB2_Error /virtual/www/eccube/html/test/data/module/MDB2.php 1009:PEAR_Error->PEAR_Error from 219.102.213.207 2014/03/07 18:59:56 [/virtual/www/eccube/html/test/data/class/helper/SC_Helper_Purchase.php:318] FATAL Error: Call to a member function isLoginSuccess() on a non-object from 219.102.213.207 ***************************************************** エラーログ? SERVER_ADDR: 203.137.26.35 REMOTE_ADDR: 219.102.213.207 USER_AGENT: Mozilla/5.0 (Windows NT 6.1; rv:27.0) Gecko/20100101 Firefox/27.0 SQL: SELECT sess_data FROM dtb_session WHERE sess_id = ? MDB2 Error: connect failed _doConnect: [Error message: unable to establish a connection] [Native message: ] /virtual/www/eccube/html/test/html/resize_image.php 25:require_once /virtual/www/eccube/html/test/html/require.php 36:require_once /virtual/www/eccube/html/test/data/require_base.php 48:SC_SessionFactory_UseCookie->initSession /virtual/www/eccube/html/test/data/class/session/sessionfactory/SC_SessionFactory_UseCookie.php 55:session_start :SC_Helper_Session->sfSessRead /virtual/www/eccube/html/test/data/class/helper/SC_Helper_Session.php 68:SC_Query->select /virtual/www/eccube/html/test/data/class/SC_Query.php 150:SC_Query->getAll /virtual/www/eccube/html/test/data/class/SC_Query.php 262:SC_Query->prepare /virtual/www/eccube/html/test/data/class/SC_Query.php 873:MDB2_Driver_pgsql->prepare /virtual/www/eccube/html/test/data/module/MDB2/Driver/pgsql.php 956:MDB2_Driver_Common->getConnection /virtual/www/eccube/html/test/data/module/MDB2.php 1792:MDB2_Driver_pgsql->connect /virtual/www/eccube/html/test/data/module/MDB2/Driver/pgsql.php 484:MDB2_Driver_pgsql->_doConnect /virtual/www/eccube/html/test/data/module/MDB2/Driver/pgsql.php 438:MDB2_Driver_Common->raiseError /virtual/www/eccube/html/test/data/module/MDB2.php 1497:PEAR->raiseError /virtual/www/eccube/html/test/data/module/PEAR.php 557:MDB2_Error->MDB2_Error /virtual/www/eccube/html/test/data/module/MDB2.php 1009:PEAR_Error->PEAR_Error from 219.102.213.207 2014/03/07 19:03:25 [/virtual/www/eccube/html/test/data/class/helper/SC_Helper_Purchase.php:318] FATAL Error: Call to a member function isLoginSuccess() on a non-object from 219.102.213.207 見たところ同じ内容のエラーの様に思えますが、もはや頭の中がチンプンカンプンです。 よろしくお願いいたします。 |
yuh |
投稿日時: 2014/3/7 18:43
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい ぱっとテストしてみました。
SC_Helper_PurchaseのsaveOrderTempを
こんな感じに変更してみてください。 |
kanaryo |
投稿日時: 2014/3/7 17:26
対応状況: −−−
|
常連 登録日: 2011/10/18 居住地: 投稿: 66 |
Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい yuh様
やはりログイン時は値が入るのですが、非ログイン時の値がdtb_orderへ格納されません。 ファイルの修正状況は以下です。 ※3つの項目を追加しているので一部修正しています。 LC_Page_Shopping.phpのlfRegistDataの $objPurchase->saveOrderTemp($uniqid, $arrValues, $objCustomer); の部分を $arrValues['tuika'] = $objFormParam->getValue('tuika'); $arrValues['tuika2'] = $objFormParam->getValue('tuika2'); $arrValues['tuika3'] = $objFormParam->getValue('tuika3'); $objPurchase->saveOrderTemp($uniqid, $arrValues, $objCustomer); lfInitParamを function lfInitParam(&$objFormParam) { $objFormParam->addParam("赤", "tuika", INT_LEN, 'n', array("MAX_LENGTH_CHECK", "NUM_CHECK")); $objFormParam->addParam("赤2", "tuika2", INT_LEN, 'n', array("MAX_LENGTH_CHECK", "NUM_CHECK")); $objFormParam->addParam("赤3", "tuika3", INT_LEN, 'n', array("MAX_LENGTH_CHECK", "NUM_CHECK")); *************************************************************** SC_Helper_Purchase.phpのsaveOrderTempの $objQuery->update('dtb_order_temp', $sqlval, 'order_temp_id = ?', array($uniqId)); の部分を if(!is_null($objCustomer) AND is_object($objCustomer)){ $sqlval['tuika'] = $objCustomer->getValue('tuika'); $sqlval['tuika2'] = $objCustomer->getValue('tuika2'); $sqlval['tuika3'] = $objCustomer->getValue('tuika3'); } $objQuery->update('dtb_order_temp', $sqlval, 'order_temp_id = ?', array($uniqId)); としています。 これでdtb_orderのtuikaフィールドへ、 ログイン時は値が格納され、非ログイン時は格納されません。 どこがいけないのでしょうか(T_T) |
yuh |
投稿日時: 2014/3/7 16:52
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい 非ログイン状態は
LC_Page_Shopping.phpのlfRegistDataの
の部分を
このように追加して、 lfInitParamにtuikaを追加すればおそらくパラメータが通るはずです。 |
kanaryo |
投稿日時: 2014/3/7 16:23
対応状況: −−−
|
常連 登録日: 2011/10/18 居住地: 投稿: 66 |
Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい yuh様
仮構築環境が無い中でアドバイス下さり、こちらこそ申し訳ありません。 早速試してみたところ、ログイン時の買い物においてシステムエラーは出なくなり買い物も完了。 dtb_orderのtuikaフィールドにも値が格納されるようになりました。 しかし、今度は非ログイン時が上手くいきません。。 エラーは出ずに買い物は完了するのですが、申し込みフォーム上で入力するtuikaの値がdtb_orderへ格納出来なくなりました。 この修正の前は非ログイン時は問題なく値が格納されていて、ログイン時がエラーだったのですが・・・。 環境が整ってからでも構いませんので、引き続きのご教示を宜しくお願いいたします。m(__)m |
yuh |
投稿日時: 2014/3/7 15:12
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい copyFromCustomerに追加した部分を削除して、
SC_Helper_Purchase.phpのsaveOrderTempの
の部分を
に変更でどうでしょうか? 家に帰ったら仮で構築して作れるんですが、今の所は多分こんな感じでとしか答えられずすみません。 |
kanaryo |
投稿日時: 2014/3/7 14:32
対応状況: −−−
|
常連 登録日: 2011/10/18 居住地: 投稿: 66 |
Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい yuh様
dtb_order、dtb_order_temp両方をtuikaフィールド名で統一し、 ログイン時に買い物を試みましたが、deliv.php画面から次の画面へ遷移する時点でシステムエラーになりました。 ログは先ほどと同じだと思いますが一応下記の通りです。 SQL: INSERT INTO dtb_order_temp(customer_id,update_date,device_type_id,session,order_name01,order_name02,order_kana01,order_kana02,order_sex,order_zip01,order_zip02,order_pref,order_addr01,order_addr02,order_tuika,order_tel01,order_tel02,order_tel03,order_job,order_birth,order_email,order_temp_id,create_date) VALUES (?,CURRENT_TIMESTAMP,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,CURRENT_TIMESTAMP) MDB2 Error: no such field prepare: [Error message: Unable to create prepared statement handle] [Last executed query: SELECT email FROM dtb_customer WHERE customer_id = $1 ] [Native message: ERROR: column "order_tuika" of relation "dtb_order_temp" does not exist LINE 1: ...,order_zip02,order_pref,order_addr01,order_addr02,order_tuik... ※SC_Helper_Purchase.phpのcopyFromCustomerには 'tuika' を追記しています。 ※deliv.tplには<!--{if $arrAddr[cnt].tuika == 1}-->赤<!--{/if}--> で記述しているので、/@@@/deliv.php画面ではdtb_customerに値があれば表示されます。 お手数ですが、よろしくお願いいたします。 |
yuh |
投稿日時: 2014/3/7 13:53
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: 会員登録画面で追加した項目を、買い物時にdtb_orderへ格納させたい 多分
dtb_order,dtb_order_temp両方にtuikaフィールドを追加するか、 dtb_order,dtb_order_temp両方にorder_tuikaフィールドを追加するかのどちらかに合わせた方がいいと思います。 dtb_order,dtb_order_temp両方にtuikaフィールドを追加する場合、 ログイン時の配送先もしくは支払方法の部分に入力フィールドを追加して、会員情報からそのフィールドにデータを入れる感じで、 dtb_order,dtb_order_temp両方にorder_tuikaフィールドを追加する場合、tuikaという名前をorder_tuikaに変更して、パラメータをorder_tempに保存できるようにする感じです。 現状仕様がログイン時と非ログイン時で別れている為、どちらかに合わせた方がいいと思います。 手っ取り早いのは両方admin/order/edit.phpに表示させてしまうのが簡単と思いますが。 |
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |