Opencart:每个国家或地区的价格不同



我可以根据注册客户的国家/地区为每种产品提供不同的价格吗?(我说的是基本价格,而不是运费、税费或特价)

有什么想法或模块可以建议吗?

假设您的所有用户都已注册,并有实际的账单或发货地址,您可以根据用户的国家/地区轻松更改定价。

有三种方法可以实现它。由于我假设你熟悉如何自定义OpenCart,我将用最少的代码来布局指南。我还假设你的所有用户都已经按照你的建议注册了。选项包括:

  1. 客户群(简单但不推荐)
  2. 在国家/地区表中添加价格比率列。(中等,但推荐)
  3. 覆盖您的货币(简单但有限的解决方案)

使用客户群

您必须为每个国家(或大洲,如果您愿意)创建一个唯一的客户群,注册后您将为用户分配正确的客户群。您可以通过更改注册模型和控制器文件来自动完成,也可以通过确保所有新客户都需要首先获得批准来手动完成。设置产品折扣时,可以为每个客户组设置不同的折扣。这是一项艰巨的工作,很难维护,但这是可能的。

请注意,默认情况下,客户将能够看到折扣前的基本价格(有时可能低于其客户群价格)。您可以编辑product.tpl或css文件并将其从显示中删除

添加价格比率列

第二种方法(我推荐的方法)是修改您的国家mysql表,并为每个国家添加固定的价格比率(即美国为1,英国为1.2,泰国为0.8等)。这将以固定比率更改所有产品的基本定价。

  1. 编辑数据库表"country"并添加名为"price_ratio"的列
  2. 编辑您的模型和控制器文件,以按price*price_ratio计算有效价格
  3. 将其发送到视图并显示有效价格
  4. 您还需要修改您的管理员本地化/国家/地区型号、视图和控制器,以便您可以直接从管理员处更改价格比率

使用此方法,您只需要更改一次price_ratio,所有价格都将更新(与第一种方法相反,您必须更改每个产品和每个国家的定价)。

此外,从技术上讲,如果你对此很懒惰,你可以将所有价格比存储在代码中的关联数组中,并避免所有其他修改,但以后修改会更困难

使用货币

第三种方法是覆盖您的货币,但这只会给您有限的控制权(即欧洲不同国家共享相同的货币,因此您无法显示不同的定价)。

希望这能有所帮助!

没有这样的扩展,AFAIK,要求推荐这样的扩展是结束您的问题的原因。但可以通过以下方式实现:

  1. 检查IP地址-找出原产国(通过互联网上许多免费/付费服务之一)并相应更改价格。这可能不是100%准确的,因为用户可能使用代理,因此来自美国的用户最终可能拥有来自中国的IP
  2. 要求用户首先登录,然后检查他们的发货/发票地址以获取国家/地区。考虑到用户可能有更多的发货地址(到不同的国家),或者他的发货和发票地址所在的国家可能不同,这也可能会有一些技巧
  3. 通知用户价格取决于国家/地区,他们选择一个国家/地区(类似于语言/货币选择器的选择框)进行发货,之后您可以相应地更改价格。然后必须检查所选国家是否与发货国/发票地址相同

无论如何,所有的方法都需要进行巨大的修改-也许后端需要一个新的模块来设置产品/国家/地区的价格比(类似于货币),或者修改产品详细信息以能够为每个国家/地区设置具体的价格(请记住,有数百个国家,所以可能只允许其中几个国家/地区是明智的),当然,前端也需要修改来计算价格对国家来说是正确的。。。

我的看法是:这是浪费时间。。。当使用不同货币的比率(不同的国家-不同的货币-直到你想用欧元为欧盟国家设定不同的价格)时,你可以实现类似的行为。。。

以下是我发现的与您的问题相关的扩展列表

  1. 按IP分配客户组(按D3MO)
  2. 按GeoIP的自动价格增加/减少规则(按D3MO)

还有另一个扩展,可以为每种货币设置不同的价格

  1. 货币价格(通过ashwani_multi)

我希望这些能对你有所帮助。以下是这些扩展的链接

  1. https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=34652&filter_search=客户%20集团%20价格
  2. https://www.opencart.com/index.php?route=marketplace/extension/info&分机号=29023
  3. https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=34754&filter_search=客户%20集团%20价格

最新更新