我试图在购物车页面和结帐页面显示自定义选项的每个价格。
所以我更改了这个文件:app / code / core / Mage / Catalog / Helper / Product / Configuration.php 这里是第75行
$options[] = array(
'label' => $option->getTitle(),
'value' => $group->getFormattedOptionValue($itemOption->getValue()),
'print_value' => $group->getPrintableOptionValue($itemOption->getValue()),
'option_id' => $option->getId(),
'option_type' => $option->getType(),
'custom_view' => $group->isCustomizedView(),
//##my changing
'my_price' => $option->getPrice()
);
但这只适用于字段,当我的自定义选项是选择框或单选按钮时,它不起作用。
有人可以帮忙,谢谢!
答案 0 :(得分:1)
打开模板文件
应用/设计/前端/默认/主题/模板/结帐/购物车/项目/ default.phtml 强>
找到foreach循环:
<?php foreach ($_options as $_option) : ?>
在该foreach循环中,添加以下代码:
<?php
$optionId = $_option['option_id'];
$product = $_item->getProduct();
$option = $product->getOptionById($optionId);
$itemOption = $_item->getOptionByCode('option_' . $option->getId());
$price = false;
foreach ($option->getValues() as $values) {
if ($values->getId() == $itemOption['value']) {
$price = $values->price;
}
}
if ($price !== false) {
echo Mage::helper('core')->currency($price);
}
?>
答案 1 :(得分:0)
不确定你是否已经解决了你的问题,但这里的参考就是我所做的......
自定义选项价格仅可从产品对象获得,而不是来自item对象(可从cart / item / default.phtml模板中获得)。您必须从项目中找到产品ID($ _item-&gt; getProductId())然后加载此产品。从那里你需要加载产品选项,遍历自定义选项选择值(在我的情况下)并在选项值ids与产品和项目对象(http://subesh.com.np/2009/12/custom-options-product-magento/匹配时)提取价格以获得更多帮助)。
希望这可以帮助您顺利前进:)