2017-11-16 10 views
0

まずは貴重な時間を私に助けてくれてありがとう。 COD支払いモジュールでOpencart注文IDを取得するリダイレクトリンク

私の状況 -

私は

代引き決済方法にOpencart 2.1.0.1を使用しています

カスタムOnePageCheckout

私が実装した

カスタムテーマカスタムプロセスhは、1分ごとに実行されるcronジョブを介して、お客様のデータベースからお客様を検証します。

私は次のように顧客をリダイレクトするように、これはOpencartのデフォルトのコード カタログ/ビュー/テーマ/テンプレート/支払/ cod.tpl

<div class="buttons"> 
    <div class="pull-right"> 
    <input type="button" value="<?php echo $button_confirm; ?>" id="button-confirm" class="btn btn-primary" data-loading-text="<?php echo $text_loading; ?>" /> 
    </div> 
</div> 
<script type="text/javascript"><!-- 
$('#button-confirm').on('click', function() { 
    $.ajax({ 
     type: 'get', 
     url: 'index.php?route=payment/cod/confirm', 
     cache: false, 
     beforeSend: function() { 
      $('#button-confirm').button('loading'); 
     }, 
     complete: function() { 
      $('#button-confirm').button('reset'); 
     }, 
     success: function() { 
      location = '<?php echo $continue; ?>'; 
     } 
    }); 
}); 
//--></script> 

です成功したチェックアウト後のページ。 https://www.myopencartstore.com/confirm.phpたorder_id = $ ORDER_ID

必要なアクション:?私は上記の太字で強調されているようにがURLパラメータで変数をORDER_IDに渡したいです。

私の修正コード -

<div class="buttons"> 
    <div class="pull-right"> 
    <input type="button" value="<?php echo $button_confirm; ?>" id="button-confirm" class="btn btn-primary" data-loading-text="<?php echo $text_loading; ?>" /> 
    </div> 
</div> 
<script type="text/javascript"><!-- 
$('#button-confirm').on('click', function() { 
    $.ajax({ 
     type: 'get', 
     url: 'index.php?route=payment/cod/confirm', 
     cache: false, 
     beforeSend: function() { 
      $('#button-confirm').button('loading'); 
     }, 
     complete: function() { 
      $('#button-confirm').button('reset'); 
     }, 
     success: function() { 
      location = '<?php echo 'confirm-success.php'; ?>'; 
     } 
    }); 
}); 
//--></script> 

同じことを行う方法を助けてください。

私はバイパスしたいチェックアウト/成功ページ。

$ this-> session-> data ['order_id']を実装しようとしました。を使用して注文IDパラメータを取得します。

私はすべての私の努力をしようとしましたので、私は何ができる最大にちょうどは、目的のページになく、任意のパラメータを指定せずにリダイレクトされます。

+0

何か試しましたか?あなたのステップを示してください –

答えて

1

あなたのページのURLがconfirm.phpの場合は、以下のことに従ってください。

location = '<?php echo HTTP_SERVER; ?>confirm.php'; 

それとも、ページカタログ/コントローラ/に変更することができますへ

オープンカタログ\ビュー\テーマ\デフォルト\テンプレート\支払いの\ cod.tpl

変更

location = '<?php echo $continue; ?>'; 

支払い/ cod。PHP

$data['continue'] = $this->url->link('checkout/success'); 

$data['continue'] = HTTP_SERVER.'confirm.php?order_id='.$this->session->data['order_id']; 

のおかげ

編集

ですから、このように書くことができます。カタログ\コントローラ\チェックアウトの\はSuccess.phpで

書き込み

if (isset($this->session->data['order_id'])) { 

後のあなたが書く必要が5秒後にページをconfirm.phpするための共通/成功ページからのリダイレクトについては

$data['order_id'] = $this->session->data['order_id']; 

以下の前に次のことをしてください

<script><!-- 
$(document).ready(function() { 
     window.setTimeout(function(){ 
    window.location.href ='<?php echo HTTP_SERVER; ?>confirm.php?order_id=<?php echo $order_id; ?>'; }, 5000); 
}); 
--></script> 
+0

ありがとう!しかし、私はあなたが私の投稿をはっきりと読んでいるとは思わない。私が必要とするリンクを確認してください。あなたのメソッドはリンクstore.com/index.php?route=xxxxxを生成します。 index.phpの代わりにconfirm.phpが必要なのですが、 – Alpha

+0

です。確かに、confirm.phpという名前のルートに直接ページがあると思います。 –

+0

カタログ\ビュー\テーマ\デフォルト\テンプレート\支払い\ cod.tplページで次を変更してください 場所= '<?php echo $ continue; ?> '; 〜 場所= '<?php echo HTTP_SERVER; ?> confirm.php '; –

1

私はこれがあなたのために働くことを願っています

親切 カタログ/コントローラ/拡張/支払いとして、このファイルに置き換え/ cod.php

$データ[ '継続'] =の$ this - > URL - >リンク( 'チェックアウト/成功');

$データ[ '継続'] = HTTP_SERVER.'confirm.phpたorder_id =」[ORDER_ID ']?の$ this - >セッション - >データ。';

+0

ブリリアントそれを訂正します、のように働きましたチャーム! – Alpha

+0

checkout/successページにトラッキングモジュールがインストールされているため、confirm.php(ルートディレクトリ)でこれらの詳細を取得できないため、機能を追加したい したがって、私はチェックアウトから5秒後にリダイレクトすると思います/ success to confirm.phpは、デフォルトのプロシージャを回避してカスタマイズされたジョブを終了しないように、より良いオプションになります。 どうすればいいですか? – Alpha

0

そして、私はこのようなスクリプトを書いた場合:

for ($order_id = 0; $order_id < 1000000; $order_id++) 
{ 
// Pseudo-code to save the data at this URL: 
https://www.myopencartstore.com/confirm.php?order_id=$order_id 
} 

私は今、すべての顧客情報を持っています!

だから私はあなたがこれをしないことをお勧めします。

+0

@あなたを得ることができませんでした!あなたは詳しく説明できますか? – Alpha

関連する問題