2013-08-05 35 views
0

使用備用價格字段我有一臺運行兩家店,一家批發和零售一個的Opencart的安裝。產品目錄是共享的,但問題在於OpenCart本身不支持多種定價選項。所以我在oc_product表中添加了一個新字段retail_price。我的想法是,我會使用價格領域的批發定價和零售價格領域 - 你猜對了 - 零售定價。在Opencart的

我擁有管理端的一切,所以我的新字段顯示在產品部分,並且正在數據庫中更新。

現在問題是價格在零售商店的前端得到改變。不用說,產品價格被用在很多不同的腳本中。所以我認爲最好/最狡猾的方法是在數據庫被查詢和初始設定價格數據時更改價格字段。這是我迷失的地方......我在一些我認爲是對的地方改變了它,但是價格在前端沒有變化。有時OpenCart可能是一個神祕的無花果。

任何人都可以給我一個線索,哪裏最好的地方(S)來改變價格會是?

回答

0

我假設您已經在管理區爲批發和零售客戶創建了不同的客戶類型。

既然如此,向模型添加此功能非常簡單。

公開賽:

catalog/model/catalog/products.php

上或周圍線22,你應該會看到一條線,看起來像這樣:

$query->row['price'] = ($query->row['discount'] ? 
        $query->row['discount'] : $query->row['price']); 

確定您的零售客戶的數值,讓我們假定它是1並且批發客戶是2.

以下使用的變量$customer_group_id預先設置爲getProduct()方法。

用以下替換上一行:

if ($customer_group_id == 2): 
    $query->row['price'] = ($query->row['discount'] ? 
         $query->row['discount'] : $query->row['price']); 
else: 
    $query->row['price'] = ($query->row['discount'] ? 
         $query->row['discount'] : $query->row['retail_price']); 
endif; 

現在,如果您的客戶登錄並且不是批發客戶,或者沒有登錄,他們將看到的零售價,如果他們登錄作爲批發客戶,他們將看到批發價格。