Adobe Commerce

Criar um bloco e adicionar ao Carrinho via modulo no Magento 2

Como criar um bloco e adiciona-lo na página do Carrinho via modulo no Magento 2

Passo 1: Criar um Módulo

Primeiro, crie um módulo personalizado:

  1. Crie a estrutura de diretórios do módulo em app/code/Vendor/Module. Substitua Vendor pelo nome da sua empresa ou projeto, e Module pelo nome do seu módulo.

  2. Crie registration.php em app/code/Vendor/Module:

<?php

\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Vendor_Module',
    __DIR__
);

Crie etc/module.xml em app/code/Vendor/Module:

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="Vendor_Module" setup_version="1.0.0">
        <sequence>
            <module name="Magento_Checkout"/>
        </sequence>
    </module>
</config>

Passo 2: Criar um Bloco

Crie um bloco personalizado em app/code/Vendor/Module/Block:

  1. Crie o diretório app/code/Vendor/Module/Block se ele ainda não existir.

  2. Crie um arquivo PHP, por exemplo, CustomCart.php, com o seguinte conteúdo:

<?php

namespace Vendor\Module\Block;

use Magento\Framework\View\Element\Template;

class CustomCart extends Template
{
    // Sua lógica personalizada vai aqui
}

Passo 3: Criar um arquivo PHTML

Crie o arquivo phtml em app/code/Vendor/Module/view/frontend/templates:

  1. Crie o diretório app/code/Vendor/Module/view/frontend/templates se ele ainda não existir.

  2. Crie um arquivo, por exemplo, custom_cart.phtml, com o seu código HTML e PHP:

Passo 4: Criar um arquivo XML de Layout

Crie um arquivo XML de layout para especificar onde o bloco deve ser renderizado:

  1. Crie o diretório app/code/Vendor/Module/view/frontend/layout se ele ainda não existir.

  2. Crie um arquivo, por exemplo, checkout_cart_index.xml, com o seguinte conteúdo:

<?xml version="1.0"?>

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceContainer name="content">
            <block class="Vendor\Module\Block\CustomCart" name="custom.cart" template="Vendor_Module::custom_cart.phtml" />
        </referenceContainer>
    </body>
</page>

Passo 5: Limpar o Cache e Testar

Depois de completar esses passos, limpe o cache executando:

php bin/magento cache:clean

Agora, visite a página do carrinho na sua loja Magento 2, e você deverá ver o seu conteúdo personalizado sendo exibido.

Lembre-se de substituir Vendor_Module pelo nome do módulo que você escolheu. Além disso, ajuste namespaces e nomes de arquivos conforme necessário com base nos requisitos específicos do seu projeto.

Post Recentes

Cron do Magento 2 não roda: status missed e pending no cron_schedule

Pedido que não fatura e e-mail que não sai porque todo job fica missed: como ler a cron_schedule, conferir o…

12 horas atrás

Gerar slug de URL em PHP: acento, espaço e símbolo fora do endereço

Uma função curta em PHP 8.3 que transforma Camiseta Preta Tamanho GG em camiseta-preta-tamanho-gg, sem depender do locale do servidor.

1 dia atrás

Log de consentimento LGPD: a tabela MySQL que guarda a prova do aceite

O banner registra o clique só no navegador e some. Veja a tabela MySQL e o endpoint que gravam a…

2 dias atrás

Comando CLI Magento 2: criar a classe e registrar no di.xml

A classe do comando existe e o bin/magento list ignora ela. Falta o registro no di.xml: aqui vai a classe…

3 dias atrás

Traduzir o pt_BR.csv do Magento 2 em lote sem perder a coluna de origem

Como traduzir duas mil linhas do pt_BR.csv do Magento 2 lendo com fgetcsv e regravando com fputcsv, sem encostar na…

3 dias atrás

Variação não está disponível no WooCommerce: limpar transients e lookup

Produto variável respondendo "Desculpe, este produto não está disponível" mesmo com a variação ativa: limpe os transients do WooCommerce e…

4 dias atrás