質問 > フロント機能 > お届け先の指定画面をパスさせたい |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ゲスト |
投稿日時: 2007/12/3 17:40
対応状況: −−−
|
お届け先の指定画面をパスさせたい 商品を購入した後の、お届け先の指定画面をパスさせたいのですが、どなたかおわかりになる方はいらっしゃいませんか。
shopping/deliv.phpを使わないようにすればいいのでしょうが、どこを書き直せばいいのかちょっとわからなくて困っています。 |
|
moon_work |
投稿日時: 2009/11/9 15:23
対応状況: −−−
|
新米 登録日: 2009/10/4 居住地: 投稿: 4 |
Re: お届け先の指定画面をパスさせたい だいぶ古い記事のようですが、私も同様の要望があり、手こずっているので、
よいアドバイス等ありましたら、教えていただけると助かります。 ■なぜ必要か? 小さなネットショップなので 届け先は会員登録した住所のみで十分と思われるため。 ※個人的には、お届け先指定画面は多くの人が必要なく、スキップできるボタン(EC-CUBEペイメントの2クリック購入ボタンのようなもの)なり、パラメータ設定で飛ばせると、離脱率が減り、ありがたい機能になると思っています。 ■修正箇所 ○data>class>pages>shopping>LC_Page_Shopping.php のログインチェック後のページ移動をお支払い方法画面に変更 98行目 $this->sendRedirect($this->getLocation(URL_SHOP_PAYMENT)); ○data>class>pages>shopping>LC_Page_Shopping_Payment.php の戻り先URLをカート画面に変更 96行目 $this->tpl_back_url = URL_CART_TOP; ○data\Smarty\templates\default\shopping\index.tpl 28行目の action="./deliv.php"を"action="./payment.php"に変更 ○data\Smarty\templates\default\mypage\navi.tpl 51〜57行目の「お届け先追加・変更」ボタン部分をカット ■問題点 ログインしていない状態でカートへ進み、購入手続き→ログイン処理へ進むと、お支払方法・お届け時間等の指定画面へ進むが、実はログインできていない。 ■対策 LC_Page_Shopping_Deliv.php でログイン処理を行っているようなので、ここの必要箇所をLC_Page_Shopping_Payment.php に移植すればログインできるようになる? 現状、このような状態ですが LC_Page_Shopping_Deliv.php のログイン処理が理解できていないので、試行錯誤中です。 よいアドバイス等ありましたら、教えていただけると幸いです。 ---- EC-CUBE 2.4.1 PHP 5.2.6 MySQL 5.0.45-community-nt |
AMUAMU |
投稿日時: 2009/11/10 20:27
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: お届け先の指定画面をパスさせたい LC_Page_Shopping.php をカスタマイズしようとしているようですが、比較的容易だと個人的に思うのは、LC_Page_Shopping_Deliv.phpをカスタマイズする方かと思います。
後半の表示処理のところで、login処理後であれば届け先チェックをしたという情報を加えて「会員登録住所に送る」の処理を行うように変更してみたらどうでしょうか?
|
yoshi0426 |
投稿日時: 2009/11/11 23:36
対応状況: −−−
|
半人前 登録日: 2009/8/5 居住地: 投稿: 11 |
Re: お届け先の指定画面をパスさせたい 自分も、お届け先の指定画面をパスさせたいと思っていますが、商品カテゴリによって、表示する、しないを分けたいと思っています。処理として、複雑になるでしょうか?
|
AMUAMU |
投稿日時: 2009/11/12 0:18
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: お届け先の指定画面をパスさせたい 複雑さの感覚は人によって異なるので一概に言えませんが・・・
プログラム自体はそこまで込み入った事にはならないとは思いますが、複数カテゴリの商品が入った場合どうするか?などのルール決めなどが伴う為、難易度は上がってくるかと思います。 まずはやってみて不明な事などがあれば質問してみるほうが良いと思いますよ
|
moon_work |
投稿日時: 2009/11/14 21:37
対応状況: −−−
|
新米 登録日: 2009/10/4 居住地: 投稿: 4 |
Re: お届け先の指定画面をパスさせたい AMUAMUさん、アドバイスありがとうございます。
LC_Page_Shopping_Deliv.phpの194行目の表示処理のすぐ後に 以下を入れたところ、いい感じで動作するようになりました。 // ログインチェック if($objCustomer->isLoginSuccess()) { // 会員登録住所がチェックされていると情報追加 $_POST['deliv_check'] = '-1'; /** 会員登録住所に送る **/ // 会員情報の住所を受注一時テーブルに書き込む $this->lfRegistDelivData($uniqid, $objCustomer); // 正常に登録されたことを記録しておく $objSiteSess->setRegistFlag(); // お支払い方法選択ページへ移動 $this->sendRedirect($this->getLocation(URL_SHOP_PAYMENT, array(), true)); exit; } これなら、LC_Page_Shopping.phpをいじる必要もなく よりスマートに目的が達成できます。 クレバーな回答ありがとうございました。感謝です! |
dream777 |
投稿日時: 2015/3/17 16:06
対応状況: −−−
|
半人前 登録日: 2015/2/27 居住地: 投稿: 20 |
Re: お届け先の指定画面をパスさせたい お世話になってます。
古い記事ですが、同じ質問内容だったので、こちらに投稿します。 このスレッドの内容を、2.13系で試してみたのですが、下記のようなエラーが出て上手くいきませんでした。 Fatal error(E_PARSE): syntax error, unexpected 'if' (T_IF), expecting function (T_FUNCTION) on [/var/www/html/eccube/data/class/pages/shopping/LC_Page_Shopping_Deliv.php(197)] 少し調べてみたのですが、解決方法がわかりませんでした。 解決方法をご教示頂ければ幸いです。よろしくお願いします。 |
yuh |
投稿日時: 2015/3/17 23:43
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: お届け先の指定画面をパスさせたい 単純にお届け先の指定画面をパスさせるだけであれば、ダウンロード販売の商品種別IDを使用すればいいと思います。
|
dream777 |
投稿日時: 2015/3/18 11:07
対応状況: −−−
|
半人前 登録日: 2015/2/27 居住地: 投稿: 20 |
Re: お届け先の指定画面をパスさせたい yuh様
なるほど、こういうやり方もあるのですね! 勉強になりました。ありがとうございました! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |