gpt4 book ai didi

Magento - 捆绑产品内的捆绑产品(几乎可以正常工作)

转载 作者:行者123 更新时间:2023-12-03 22:13:54 24 4
gpt4 key购买 nike

我正在尝试在另一个捆绑产品中添加捆绑产品。要达到我的地位很简单。像这样编辑文件 /app/code/Mage/Bundle/etc/config.xml:

                ...
<allowed_selection_types>
<simple/>
<bundle/> <!-- Add this at line 104-->
<virtual/>
</allowed_selection_types>
...

通过这样做,您将能够成功地创建一个捆绑产品,其中包含另一个捆绑产品!

我的问题是我无法通过 AdminPanel 或 SOAP 将此产品添加到订单中(没有尝试通过前端,但可能也行不通)。

当我在管理面板中点击“添加所选产品以订购”时,出现以下错误:

[19-Jun-2013 15:52:48 UTC] PHP Fatal error:  Call to a member function getPosition() on a non-object in app\code\core\Mage\Bundle\Model\Product\Type.php on line 865

崩溃发生在 shakeSelections($a, $b):代码 $a->getOption() 没有返回对象。它不是 null,也不是对象(我是 PHP 菜鸟,所以它对我来说没有意义)。

==更新==

现在我可以将这种新产品添加到购物车中了!我编辑了文件 app\code\core\Mage\Bundle\Model\Product\Type.php,所以现在我有以下代码:

...
/*
* Create extra attributes that will be converted to product options in order item
* for selection (not for all bundle)
*/
$price = $product->getPriceModel()->getSelectionFinalTotalPrice($product, $selection, 0, $qty);
$attributes = array(
'price' => Mage::app()->getStore()->convertPrice($price),
'qty' => $qty,
'option_label' => is_null($selection->getOption()) ? '' : $selection->getOption()->getTitle(),
'option_id' => is_null($selection->getOption()) ? 0 : $selection->getOption()->getId()
);

$type = $selection->getTypeInstance(true);
if (get_class($type) != 'Mage_Bundle_Model_Product_Type'){
$_result = $selection->getTypeInstance(true)->prepareForCart($buyRequest, $selection);
}
...

还有下面的函数:

public function shakeSelections($a, $b)
{
$ta = $a->getOption();
$tb = $b->getOption();

$aPosition = array(
is_null($ta) ? 0 : $ta->getPosition(),
$a->getOptionId(),
$a->getPosition(),
$a->getSelectionId()
);
$bPosition = array(
is_null($tb) ? 0 : $tb->getPosition(),
$b->getOptionId(),
$b->getPosition(),
$b->getSelectionId()
);
if ($aPosition == $bPosition) {
return 0;
} else {
return $aPosition < $bPosition ? -1 : 1;
}
}

我正在调查以发现我引入的可能的副作用。此刻我看到这批捆绑商品的库存管理会存在问题。

如果您有任何进展,请发布您的更新。非常感谢!

== 第二次编辑 ==

我已经在 github 上启动了这个 repo,这样你就可以关注我的进度,也许能以某种方式帮助我。

https://github.com/matheusjadimb/MagentoBundleOfBundled

最佳答案

只是不要这样做!

为了让它正常工作,我遇到了很多困难。我了解到您应该创建自己的产品类型而不是编辑现有产品类型。

关于Magento - 捆绑产品内的捆绑产品(几乎可以正常工作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17195938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com