Blog

Como deixar os campos de endereço obrigatórios no Magento?

VVerner - Como deixar os campos de endereço obrigatórios no Magento?

Mesmo tendo como especialidade oWordPress, às vezes me deparo com jobs onde preciso fazer personalizações em outros Sistemas de Gerenciamento de Conteúdo. E esta semana foi uma dessas vezes, onde tive que trabalhar com o Magento.

Como este é um blog post de snippet vou considerar que você já sabe o que é o Magento e como trabalhar com a plataforma. E tenha pelo menos o básico de noção em programação de módulos. Caso não saiba por onde começar, o pessoal da Magenteiro tem um artigo falando sobre criação de módulos no Magento.

Dando um pouco de contexto, neste job meu cliente tinha 4 inputs de endereço e queria colocar 3 deles como obrigatório. Algo bem comum para ser feito no Woocommerce, por exemplo, mas todos sabemos que o Magento pode ser um pouco complicado.

Então agora que você já sabe do que estamos falando, vamos começar a deixar os campos de endereço obrigatórios no Magento!

Código para deixar os campos de endereço obrigatórios no Magento

IMPORTANTE: Para deixar os campos de endereços obrigatórios no Magento, primeiro você deve criar seu módulo personalizado seguindo o passo a passo que informei acima e, depois, seguir as instruções abaixo.

Passo 01:

Manual do dono do site WordPress

Um guia abrangente especialmente elaborado para proprietários não técnicos sobre como fazer a manutenção do site feito com WordPress.

Baixar (grátis)

Dentro do diretório etc do seu módulo, crie o arquivo di.xml com o seguinte conteúdo:

Caminho para diretório: seu_nome/nome_do_modulo/etc

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
  <type name="MagentoCheckoutBlockCheckoutAttributeMerger">
    <plugin name="shippingAddress" type="seu_nomenome_do_moduloPluginCheckoutBlockCheckoutAttributeMergerPlugin"/>
  </type>
</config>

Passo 02:

Dentro do seu módulo crie os diretórios conforme abaixo, exatamente na mesma ordem que se encontram:

PluginCheckoutBlockCheckoutAttributeMerger

Sendo que no diretório AttributeMerger deverá ser criado o arquivo Plugin.php

Passo 03:

Agora falta pouco para deixar os campos de endereço obrigatórios no Magento!

Dentro do arquivo criado Plugin.php adicione o seguinte código:

<?php
namespace seu_nomenome_do_moduloPluginCheckoutBlockCheckoutAttributeMerger;

class Plugin {
  public function afterMerge(MagentoCheckoutBlockCheckoutAttributeMerger $subject, $result)
  {
    if (array_key_exists('street', $result)) {
      $result['street']['children'][X]['validation'] = [
        'required-entry' => true
      ];
    }
    return $result;
  }
}

Agora, substitua o X pelo index do campo que você quer colocar como obrigatório. Caso queira colocar outros, basta replicar o $result com outro valor em X.

IMPORTANTE: Estamos lidando com uma array neste código, então o index deve seguir as mesmas propriedades.

Espero que você consiga deixar os campos de endereço obrigatórios no Magento! Caso tenha alguma dúvida, deixe seu comentário abaixo que eu tentarei auxiliar você!

Continue lendo

Desvendando o WooCommerce: O que é e Como Utilizar na Construção do seu E-commerce com WordPress

Desperte seu E-commerce! Saiba tudo sobre o WooCommerce: o que é e como funciona com [...]

O que é a Lei Geral de Proteção de Dados e como ela afeta o seu negócio

Após longos anos de discussões e redações, a Lei Geral de Proteção de Dados (LGPD) [...]

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Abrir WhatsApp
1
Oi! Tudo bom? 👋🏻
Qual ideia iremos desenvolver hoje?