2016-01-21 85 views
0

我成功生成了測試購物車規則並分配給我的用戶。爲什麼prestashop購物車規則(優惠券)不在前臺顯示?

我可以在後臺和my-account頁面的「我的代金券」下看到它。所以我們確信它已被記錄並分配。

發生什麼事情是,在購物車頁面中,即使在用戶登錄後,我也看不到任何憑證字段。

深入挖掘,我可以說$ discounts模板var沒有被填充,或者,它只是計數爲零。所以我看了看控制器,看到它通過$order->getCartRules()分配。而getCartRules只是讀取數據庫表。和驚喜? order_cart_rule表是空的。所以它不會被填充。那麼這裏可能是什麼問題?有同樣的問題有人嗎?這是一件奇怪的事情..

可能的主要問題是:何時/何時做購物車和規則被創建/應用?我可以在FrontController中看到正在創建的購物車,但是在那時,購物車規則似乎尚未設置。

順便說一句,我的Prestashop最新上運行1.6.1.4

+0

默認主題?如果刪除用戶分配,憑證字段仍然不可用?要查看購物車中的規則,您需要購物車類中的'getCartRules'方法和相應的'cart_cart_rule'表,因爲順序仍然不存在 –

+0

不是默認主題(這是我自定義的主題),但是由於問題是ps_order_cart_rule空,我不知道它是否真的是一個主題問題:(getCartRules在_order_cart_rule上只有一個直接的sql查詢,反正也是cart_cart_rule是空的 – Stratboy

回答

1

$命令 - > getCartRules

功能$order->getCartRules()給您的此訂單車規則列表(你可以在表ps_order_cart_rule中找到它)。

所有購物車規則在哪裏?

所有購物車規則在表ps_cart_rule

如果標記推車規則爲Highlight - 你可以看到這一點:

Vouchers field with a hightlighted cart rule.

如果已經添加任何車規則來你的店 - 你可以看到這一點:

Vouchers field.

如果您看不到Vouchers字段 - 要麼您沒有任何購物車規則,或者您安裝的theme不支持它。

+0

是的我知道,但正如我已經寫過上面那樣,問題是在前端登錄在:1.我可以看到我的帳戶頁面上分配了我的購物車規則,但是2.我看不到購物車頁面上的優惠券字段,以及3.由於$ discounts變量爲空,smarty不寫入該字段,或者換句話說,$ order-> getCartRules()在_order_cart_rule中找不到任何東西,因爲它是空的。 – Stratboy

+0

@Stratboy正如我所寫的,你正在尋找一個錯誤的地方。函數'$ order-> getCartRules()'給你的適用於訂單的購物車規則列表:我的意思是,只有當客戶購買了某件商品並生成了訂單時,才能在「ps_order_cart_rule」表中找到它。 顯然你在自定義主題中有錯誤。您需要將您的主題.tpl和javascript與默認主題進行比較。並在'controllers/front/ParentOrderController.php'中檢查''voucherAllowed'=> CartRule :: isFeatureActive()'。 –

+0

你是對的。謝謝,解決了。產品線/列表中考慮了$折扣,並且它與憑證輸入字段本身無關。 – Stratboy

0

是一個遲到的回答,但我注意到,如果您啓用貝寶它在paypal.js一條線去掉不僅憑證面積,而且垃圾桶刪除產品:

看到圖:https://i.gyazo.com/403a9004aaa745a2817f11884d52346b.png

/* 1.5 One page checkout*/ 
var qty = $('.qty-field.cart_quantity_input').val(); 
$('.qty-field.cart_quantity_input').after(qty); 
$('.qty-field.cart_quantity_input, .cart_total_bar, .cart_quantity_delete, #cart_voucher *').remove(); 

通過重命名cart_voucher到cart_voucher_2(如果你不使用快速結賬)和cart_quantity_delete到cart_quantity_delete_2您將回到有你的東西吧:)

相關問題