是否有办法(通过代码检查,如果需要)更改每个商店网站的产品价格,因此从搜索结果和单个产品视图中显示一直到结帐和订单信息
我需要这个多主机网站,有些商店可以根据付款的数量以较低的价格提供产品,并根据不同的选项增加额外的百分比。
我一直在寻找app / code / core / catalog但似乎无法找到它?
另外,我想添加一些自定义代码来选择商店中显示的产品(再次根据自己的数据),这两个是非常重要的。
有可能吗?
答案 0 :(得分:2)
最后!我得到了这个工作!
请注意,您只能为WEBSITE SCOPE
设置不同的价格。所以只需添加一些网站。例如,我需要为每个国家/地区设置不同的价格。所以我添加了几个网站,一个商店和一个视图。
在索引php中(替换最后一行):
if (isset($_POST['country_id'])){
$store_id = $_POST['country_id'];
setcookie('country_id',$store_id);
Mage::run($store_id,'website');
} else if(isset($_COOKIE['country_id'])) {
$store_id = $_COOKIE['country_id'];
Mage::run($store_id,'store');
} else {
/* Store or website code */
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';
/* Run store or run website */
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store';
Mage::run($mageRunCode, $mageRunType);
}
Code Descriprion:
我通过表单参数country_id
(实际上它是“商店ID”)。然后如果找到这个POST参数 - 记住它与cookie设置。如果之前设置了cookie,则应用商店ID。最后,当没有设置任何内容时 - 显示默认存储。
循序渐进指南:
Website
属性设置为所有商店答案 1 :(得分:1)
要完成Joe的回答,您可以在
中设置价格范围(全球或每个网站)系统>配置>目录>价
如果要在商店视图范围内设置不同的价格,一种方法是创建客户组并使用层级价格。
答案 2 :(得分:0)
如果您只是想为每家商店更改产品的价格,那么这很简单。 price属性可以声明为在站点配置中具有任何范围,因此您可以将其设置为存储级别并为产品提供多个价格。
但是,如果您想以编程方式更改产品的价格,那么您将遇到一些麻烦。在每次加载页面时,Magento会重新加载购物车,并确保提供的价格仍然是最新的。因此,如果您在代码中覆盖了产品价格,它将覆盖您的更改并恢复原始产品价格。你可以跳过一些箍,并且主要是破解这种行为,但这并不是一个完美的主张。此外,当客户进行重新订购(带重新订购按钮)时,价格也不匹配。
对于你的第二个问题,你能否准确说明你想要做什么?你想要的并不是很清楚。
希望有所帮助!
谢谢, 乔