所以我发现this code几乎可以做到我想做的事。我需要代码在选择选项时动态显示可配置产品(简单产品的sku)的sku。唯一的问题是,在选择选项之前,它会显示第一个简单的产品sku。我希望它在显示所有选项之前不显示任何内容。
这是代码: 应用程序/设计/前端/ RWD /默认/模板/目录/产品/视图/类型/选项/ configurable.phtml
<?php
$conf = Mage::getModel('catalog/product_type_configurable')->setProduct($_product);
$col = $conf->getUsedProductCollection()->addAttributeToSelect('*')->addFilterByRequiredOptions();
?>
<script type="text/javascript">
var Skus =new Array();
<?php
$count = 1;
$itemId = array();
foreach($col as $simple_product){
$itemId[] = array($simple_product->getSelectLabel() => $simple_product->getSku());
}
foreach($itemId as $val){
foreach($val as $k => $v){
echo 'Skus['.$count.'] = "'.$v.'";'. "\n";
$count++;
}
};
?>
$j(document).ready(function(){
$j("#productcode").html("Product Code: " +Skus[1]);
$j("select#attribute<?php echo $_attribute->getAttributeId() ?>").change(function(){
var position = $j("#attribute<?php echo $_attribute->getAttributeId() ?> option").index($j("#attribute<?php echo $_attribute->getAttributeId() ?> option:selected"));
$j("#productcode").html(Skus[position] ? "Product Code: " +Skus[position] : "Product Code: " +Skus[1]);
});
});
</script>
和: 应用程序/设计/前端/ RWD /默认/模板/目录/产品/视图/ view.phtml
<div id="productcode"></div>
目前,动态sku显示第一个sku记录,直到选中所有选项,然后显示正确的选项。如果选择了所有选项,我如何隐藏sku?如果有人回去编辑他们的选择,我怎么能隐藏它?
提前致谢!
答案 0 :(得分:1)
如果您评论(或删除)以下行,则不会在div onload中放置任何内容:
$j("select#attribute<?php echo $_attribute->getAttributeId() ?>").change(function(){
var position = $j("#attribute<?php echo $_attribute->getAttributeId() ?> option").index($j("#attribute<?php echo $_attribute->getAttributeId() ?> option:selected"));
$j("#productcode").html(Skus[position] ? "Product Code: " +Skus[position] : "Product Code: " +Skus[1]);
});
当更改选择时,以下代码仍将写入SKU:
{{1}}
希望有所帮助。