选择项目的产品属性后,如何更改SKU否。
答案 0 :(得分:0)
要在可配置产品页面上获取所选关联产品的sku,请将以下代码粘贴到脚本中的app / design / frontend /// template / catalog / product / view / type / options / configurable.phtml中: / p>
spConfig.getIdOfSelectedProduct = function()
{
var existingProducts = new Object();
for(var i=this.settings.length-1;i>=0;i--)
{
var selected = this.settings[i].options[this.settings[i].selectedIndex];
if(selected.config)
{
for(var iproducts=0;iproducts<selected.config.products.length;iproducts++)
{
var usedAsKey = selected.config.products[iproducts]+"";
if(existingProducts[usedAsKey]==undefined)
{
existingProducts[usedAsKey]=1;
}
else
{
existingProducts[usedAsKey]=existingProducts[usedAsKey]+1;
}
}
}
}
for (var keyValue in existingProducts)
{
for ( var keyValueInner in existingProducts)
{
if(Number(existingProducts[keyValueInner])<Number(existingProducts[keyValue]))
{
delete existingProducts[keyValueInner];
}
}
}
var sizeOfExistingProducts=0;
var currentSimpleProductId = "";
for ( var keyValue in existingProducts)
{
currentSimpleProductId = keyValue;
sizeOfExistingProducts=sizeOfExistingProducts+1
}
if(sizeOfExistingProducts==1)
{
alert("Selected product is: "+currentSimpleProductId)
}
}
现在在同一页面的下拉列表中添加onchange事件:
平变化= “spConfig.getIdOfSelectedProduct()”
第一个代码将提醒简单的关联产品ID。您现在可以在下面的代码中使用它。
jQuery.ajax({
type: "POST",
url: "<?php echo $this->getBaseUrl()?><module_front_name>/<controller_name>/<action_name>/",
data:"id="+currentSimpleProductId,
success: function(msg)
{
alert(msg);
//var data = JSON.parse(msg);
//alert(data.id);
}
});
现在,转到上面使用过的控制器文件并创建一个名为Action的新操作,并将代码放在其中:
public function <action_name>Action()
{
$productId = $_REQUEST['id'];
/*$productId is your selected product id. do what ever you want to do here.*/
$product = Mage::getModel('catalog/product')->load($productId);
$productsku = $product->getSku();
$arraygroup = array("sku"=>$productsku);
echo json_encode($arraygroup);
}
现在,您可以在phtml文件中使用此信息来显示sku。
如果有任何不清楚的地方,请告诉我。
答案 1 :(得分:0)
找到可配置的产品模板并插入您想要获得SKU的位置
echo $product->getSku()