Magento:SKU No.选择产品属性后更改

时间:2016-06-22 08:51:03

标签: magento attributes product sku

选择项目的产品属性后,如何更改SKU否。

enter image description here

2 个答案:

答案 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)

  1. 转到Magento admin
  2. 目录&gt;管理属性找到sku并寻找类似于&#34;在前端的产品视图页面上可见&#34;
  3. 这应该从产品页面中删除sku
  4. 找到可配置的产品模板并插入您想要获得SKU的位置

    echo $product->getSku()