快速提示 在OpenCart 2 0中接受多個憑證

2021-10-07 10:53:38 字數 2809 閱讀 7320

只有管​​理員和允許的後端使用者才能生成禮品券。 opencart帶有用於執行此操作的預設模組。 以下螢幕截圖顯示了後端使用者可以生成憑證的地方。

如果預設情況下我們在opencart中實現了憑證系統,那是什麼問題? 讓我們借助示例了解它:

最近,我的乙個朋友想通過opencart購買幾件商品,價值800美元,但她只有500美元,還有兩張價值250美元的禮券。 於是她打**給我,要求解決。 由於opencart僅允許您一次使用一張優惠券購物,因此她無法購買商品。

要解決此問題,我們需要新增乙個使用多個憑單的選項,以便客戶可以輕鬆購物而不會遇到任何困難。 這是解決方案,其中我們將修改幾行**,這將有助於解決此問題。

本教程分為三個主要步驟,分別是:

控制器變更

型號變更

改變視角

導航到catalog/controller/checkout/cart.php

查詢以下**:

if(isset($this->request->post['voucher']) && $this-> valid voucher())

將上面的**更改為:

if(isset($this->request->post['voucher']) && $this-> valid voucher())

導航到catalog/model/total/voucher.php

查詢以下**行:

$this->load->model('checkout/voucher');

$voucher_info = $this->model_checkout_voucher->getvoucher($this->session->data['voucher']);

if ($voucher_info) else

$total_data = array(

'code' => 'voucher',

'title' => sprintf($this->language->get('text_voucher'), $this->session- >data['voucher']),

'text' => $this->currency->format(-$amount),

'value' => -$amount,

'sort_order' => $this->config->get('voucher_sort_order')

);$total -= $amount;

}

我們需要執行乙個外部迴圈以獲取在步驟1中作為陣列維護的所有憑證。因此,我們將在$this->load->model('checkout/voucher');之後放置乙個外部迴圈$this->load->model('checkout/voucher');

因此,我們將迴圈使用「會話憑證陣列」以獲取我們應用的所有憑證,**如下所示。 請注意,對以下**進行了注釋,以使其更易於理解。

foreach (array_unique($this->session->data['voucher']) as $voucher)

else

// end check 2

// array to return updated totals

$total_data = array( 'code' => 'voucher', 'title' => sprintf($this->language-> get('text_voucher'), $voucher),

'text' => $this->currency->format(-$amount),

'value' => -$amount,

'sort_order' => $this->config->get('voucher_sort_order')

);// end array

$total -= $amount; // substracts the amount with our order totals

} // end check 1

} // end foreach loop

導航到catalog/view/theme/default/template/checkout/voucher.tpl

查詢以下**行:

" placeholder="<?php echo $entry_voucher; ?>" id="input-voucher" class="form-control" />
替換為:

" id="input-voucher" class="form-control" />
我們已經解決了問題! 實際上,我們只是做了一些簡單的**黑客來解決這個大問題,因此我們不必開發新的模組或擴充套件。 我們只是修改了幾行**來完成它。

在本文中,我們提供了乙個成功的解決方案,可以在我們的電子商店中新增多個憑單。 由於opencart預設情況下不允許購物者使用多個憑單,因此我們修改了**,以便現在他們可以根據需要使用任意數量的憑單。 這將幫助客戶輕鬆購物,沒有任何問題。

翻譯自:

快速提示 使用Studio加快設計過程

在今天的快速提示中,我將向您介紹數字產品的設計工具 studio 讓我們看看它如何幫助您加快設計過程!多年來,我們所有人都對使用photoshop,adobe xd或sketch等工具來設計布局和介面非常熟悉。studio在設計過程中採用了稍微不同的方法。這是乙個基於web的工具,目前可以免費使用,...

快速給shell指令碼加上使用提示

我們只需通過在shell指令碼前面加上如下的 即可 bin bash my script does one thing well usage my script options input file to read.output file to write.use for stdout.h show...

在xml中新增提示

步驟1 在window preferences myeclipse files and editors xml xml catalog 步驟2 在xml catalog對話方塊中選中add,在add xml catalog entry中,key type 中選uri,在location中點file ...