所以我刚刚找到this code这几乎就是我想要的。我需要代码在选择选项时动态显示可配置产品的 sku(简单产品的 sku)。唯一的问题是,在选择选项之前,它会显示第一个简单的产品 sku。我希望它在选择所有选项之前不显示任何内容。
代码如下: 应用程序/设计/前端/rwd/default/template/catalog/product/view/type/options/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/default/template/catalog/product/view/view.phtml
<div id="productcode"></div>
目前,动态 sku 显示第一个 sku 记录,直到选择所有选项,然后显示正确的选项。如何在选择所有选项之前隐藏 sku,或者在有人返回编辑其选择时隐藏它?
提前致谢!
最佳答案
如果您注释(或删除)以下行,它不会在 div onload 中放置任何内容:
$j("#productcode").html("Product Code: " +Skus[1]);
当选择更改时,以下代码仍会在那里写入 SKU:
$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]);
});
希望有帮助。
关于javascript - Magento 显示可配置产品的动态 SKU...选择所有选项后才显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31013423/