Magento:从sku和自定义选项sku之间删除Dash

时间:2015-10-02 07:33:02

标签: php magento

当客户购买具有自定义选项的产品时,我希望删除SKU中的“ - ”。

例如,他们买衬衫并选择自定义选项尺寸28

订单中的SKU变成了衬衫-28

我们需要它来代替shirt28

我想我应该编辑

/app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php

但无法识别该行。

先谢谢。

詹姆斯

2 个答案:

答案 0 :(得分:1)

我认为这是在1037号线的/app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php

转动此代码

  if ($product->getNameAutogenerate()) {
            $product->setName($configurableProduct->getName() . '-' . implode('-', $autogenerateOptions));
        }

        if ($product->getSkuAutogenerate()) {
            $product->setSku($configurableProduct->getSku() . '-' . implode('-', $autogenerateOptions));
        }

进入这个

  if ($product->getNameAutogenerate()) {
            $product->setName($configurableProduct->getName() . '' . implode('', $autogenerateOptions));
        }

        if ($product->getSkuAutogenerate()) {
            $product->setSku($configurableProduct->getSku() . '' . implode('', $autogenerateOptions));
        }

强烈建议不要编辑核心文件。观察者更好。

答案 1 :(得分:0)

您必须覆盖此Abstract模型,只需复制以下文件即可

web / app / code / core / Mage / Catalog / Model / Product / Type / Abstract.php

到本地代码池:

web / app / code / local / Mage / Catalog / Model / Product / Type / Abstract.php

然后删除getOptionSku函数圆线742中的破折号:

public function getOptionSku($product = null, $sku=''){
        //$skuDelimiter = '-';
        $skuDelimiter = '';
        ...
}