如何在magento

时间:2015-10-31 21:53:51

标签: php magento

我有一个由2个产品(1个真实产品+ 1"虚拟"产品代表修复费用)制成的groupe产品。

因此,客户有两种可能性:

  • 他可以购买真正的产品来解决问题 或
  • 他可以购买捆绑包,他会购买赔偿套装并自动购买真实产品,而我的工厂将会回复他的问题

例如,产品成本为30欧元,修复成本为20欧元。

在前端,它将被设置: "起价:20€"

但是,我认为客户不能只购买一种产品。因此价格为50欧元,我希望在前端价格设定为50欧元。

我尝试在我的主题上修改位于以下位置的文件: ... /目录/座/产品/浏览/ price.phtml

我想插入以下变量$ simulationPrice:

<span class="price" id="product-minimal-price-<?php echo $_id ?> <?php echo $this->getIdSuffix() ?>"> <?php "there I would like the price 50€" echo $simulationPrice ?>
</span>

为此,我想执行操作:

<?php $_associatedProducts = $this->getAssociatedProducts(); ?> <?php foreach ($_associatedProducts as $childProduct) { ?> <?php $simulationPrice += $childProduct->getPrice() ?> <?php } ?>

我该怎么做?我想价格= 1个实际产品* 1个数量+ 1个虚拟产品* 1个数量。

如果您有其他方法,很高兴阅读您的建议。 我确切地说我已经修改了捆绑包并且客户无法修改设置为1个单位的数量(1个真实产品+ 1个虚拟产品),但他可以修改篮子中的数量......

如果您对此代码的解决方案不起作用,那将是一种乐趣。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我用这段代码得到了解决方案:

$simulationPrice=0;  
$associatedProducts = $_product->getTypeInstance(true)->getAssociatedProducts($_product); 
foreach ($associatedProducts as $childProduct) {  
    $quantityBackGround=$childProduct->getQty();
    $simulationPrice +=  $childProduct->getPrice() * $childProduct->getQty(); 
} 

事实上,最大的问题是我将我的代码放到以下条件中:

<?php if (!$_product->isGrouped()): ?>

我没有看到&#34;!&#34;在这种情况下....因此它永远不会工作......