1

ユーザーをopencartの請求ページにハイパーリンクすることで、メールからユーザーをリダイレクトしたい すでにカートにアップロードされている製品の価値を維持する..ショッピング カートで製品を作成し、ユーザーを請求ページにリダイレクトすることを考えましたが、その製品の請求ページを使用すると、外部リンクから使用すると COOKIE の値が期限切れになります。

商品をカートに入れたままで、顧客を請求ページに直接誘導する方法はありますか? (私は1つの製品しか持っていません。)

4

1 に答える 1

0

チェックアウト コントローラーの小さな変更を考えることができます。

ニュースレターに次のようなリンクがあるとします。

http://your.eshop.com/index.php?route=checkout/checkout&add_product=1&product_id=10&pieces=1

次に、ファイルの先頭catalog/controller/checkout/checkout.php(行の前)がif ((!$this->cart->hasProducts() ...あるかどうかを確認する必要がありif(isset($this->request->get['add_product']) && $this->request->get['add_product'])、ある場合は実行します$this->cart->add($this->request->get['product_id'], $this->request->get['pieces']);

コード全体は次のようになります。

public function index() {
    if(isset($this->request->get['add_product']) && $this->request->get['add_product']) {
        $this->cart->add($this->request->get['product_id'], $this->request->get['pieces']);
    } // END OF MODIFICATION, the next code is already in checkout.php controller

    // Validate cart has products and has stock.
    if ((!$this->cart->hasProducts() && empty($this->session->data['vouchers'])) || (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout'))) {
        $this->redirect($this->url->link('checkout/cart'));
    }

ユーザーに複数の製品を購入させたい場合、リンクは次のようになります

http://your.eshop.com/index.php?route=checkout/checkout&add_product=1&product_id[]=10&pieces[]=1&product_id[]=45&pieces[]=2&product_id[]=37&pieces[]=1

コードは次のようになります。

if(isset($this->request->get['add_product']) && $this->request->get['add_product']) {
    foreach($this->request->get['product_id'] as $i => $product_id) {
        $this->cart->add($product_id, $this->request->get['pieces'][$i]);
    }
} // END OF MODIFICATION

このコードは何をしますか? リンクをクリックしてブラウザで開いた直後に、コードは目的の製品をカートに追加し、通常どおり続行するため、プロセスはユーザーが製品の詳細ページに移動する場合とまったく同じになります。 「購入」ボタンをクリックし、eショップのどこかにある「チェックアウト」リンクをクリックします。

于 2012-12-10T10:02:50.937 に答える