更改商店网站上的产品价格(Magento)

时间:2010-07-30 09:12:11

标签: php magento

是否有办法(通过代码检查,如果需要)更改每个商店网站的产品价格,因此从搜索结果和单个产品视图中显示一直到结帐和订单信息

我需要这个多主机网站,有些商店可以根据付款的数量以较低的价格提供产品,并根据不同的选项增加额外的百分比。

我一直在寻找app / code / core / catalog但似乎无法找到它?

另外,我想添加一些自定义代码来选择商店中显示的产品(再次根据自己的数据),这两个是非常重要的。

有可能吗?

3 个答案:

答案 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。最后,当没有设置任何内容时 - 显示默认存储。

循序渐进指南:

  1. 为每个我想要设置不同价格的国家/地区添加网站(和商店+视图)
  2. 将CMS页面从一个商店视图设置为“全部...”
  3. 将所有商品Website属性设置为所有商店
  4. 为我当前主题的所有网站添加设计更改(这是自定义的)
  5. 在index.php中添加一些代码
  6. ...
  7. 的利润!

答案 1 :(得分:1)

要完成Joe的回答,您可以在

中设置价格范围(全球或每个网站)

系统>配置>目录>价

如果要在商店视图范围内设置不同的价格,一种方法是创建客户组并使用层级价格。

答案 2 :(得分:0)

如果您只是想为每家商店更改产品的价格,那么这很简单。 price属性可以声明为在站点配置中具有任何范围,因此您可以将其设置为存储级别并为产品提供多个价格。

但是,如果您想以编程方式更改产品的价格,那么您将遇到一些麻烦。在每次加载页面时,Magento会重新加载购物车,并确保提供的价格仍然是最新的。因此,如果您在代码中覆盖了产品价格,它将覆盖您的更改并恢复原始产品价格。你可以跳过一些箍,并且主要是破解这种行为,但这并不是一个完美的主张。此外,当客户进行重新订购(带重新订购按钮)时,价格也不匹配。

对于你的第二个问题,你能否准确说明你想要做什么?你想要的并不是很清楚。

希望有所帮助!

谢谢, 乔