Php 在OpenCart中使用备用价格字段

Php 在OpenCart中使用备用价格字段,php,opencart,Php,Opencart,我有一个OpenCart安装,运行两个商店,一个批发店和一个零售店。产品目录是共享的,但问题是OpenCart本身不支持多个定价选项。所以我在oc_产品表中添加了一个新字段,零售价格。我的想法是,我将使用价格字段进行批发定价,使用零售价格字段进行零售定价 我在管理方面几乎涵盖了所有内容,因此我的新字段显示在产品部分,并在数据库中更新 现在的问题是如何改变零售店前端的价格。不用说,很多不同的脚本都使用了产品价格。因此,我认为最好/最隐蔽的方法是在查询数据库并初始设置价格数据时更改价格字段。这就是我

我有一个OpenCart安装,运行两个商店,一个批发店和一个零售店。产品目录是共享的,但问题是OpenCart本身不支持多个定价选项。所以我在oc_产品表中添加了一个新字段,零售价格。我的想法是,我将使用价格字段进行批发定价,使用零售价格字段进行零售定价

我在管理方面几乎涵盖了所有内容,因此我的新字段显示在产品部分,并在数据库中更新

现在的问题是如何改变零售店前端的价格。不用说,很多不同的脚本都使用了产品价格。因此,我认为最好/最隐蔽的方法是在查询数据库并初始设置价格数据时更改价格字段。这就是我迷路的地方。。。我在一些我认为正确的地方改了,但是前端的价格没有变化。有时OpenCart可能是一个神秘的无花果


有谁能告诉我在哪里更改价格的最佳地点吗?

我假设您已经在管理区域为批发和零售客户创建了不同的客户类型

在这种情况下,将此功能添加到模型中非常简单

开放式:

catalog/model/catalog/products.php

在第22行或其周围,您应该看到一条如下所示的线:

$query->row['price'] = ($query->row['discount'] ? 
                     $query->row['discount'] : $query->row['price']);
确定零售客户的数值,假设为1,批发客户为2

下面使用的变量
$customer\u group\u 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;
现在,如果您的客户已登录且不是批发客户,或者未登录,他们将看到零售价格,如果他们作为批发客户登录,他们将看到批发价格