Adicionar atributo volume com cálculo automático

De Tek-System Wiki
Revisão de 18h43min de 12 de março de 2018 por Rafael Padovani (discussão | contribs) (Criou página com 'Este tutorial cria um atributo Volume para os produtos e realiza o cálculo automático do mesmo preenchendo as dimensões largura, altura e comprimento. Na administração do M...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

Este tutorial cria um atributo Volume para os produtos e realiza o cálculo automático do mesmo preenchendo as dimensões largura, altura e comprimento.

Na administração do Magento 2 vá até

Loja > Atributos > Produto

Crie um novo atributo. Preenche com as mesmas informações de comprimento, largura ou altura, somente alterando o nome para Volume.

Vá até

Loja > Atributos > Definir Atributo

E adicione o atributo Volume que você acabou de criar ao conjunto de atributos padrão.

Vá até

vendor/magento/module-backend/view/adminhtml/templates/widget/form.phtml

e adicione o seguinte código no final do arquivo:

<script type="text/javascript">

setTimeout(function(){

   function calculaVolume(){
       var volume = 0;
       var largura = parseFloat(document.getElementsByName("product[largura]")[0].value);
       var altura = parseFloat(document.getElementsByName("product[altura]")[0].value);
       var comprimento = parseFloat(document.getElementsByName("product[comprimento]")[0].value);
       if (largura != null && altura != null && comprimento != null) {
           volume = largura*altura*comprimento;
           document.getElementsByName("product[volume]")[0].value = volume;
       }
   }
   document.getElementsByName("product[largura]")[0].onchange = function() {calculaVolume();};
   document.getElementsByName("product[altura]")[0].onchange = function() {calculaVolume();};
   document.getElementsByName("product[comprimento]")[0].onchange = function() {calculaVolume();};

}, 3000);

</script>