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

Bloquear .env e .git no nginx: as regras que ainda deixam o arquivo vazar

Negar /.env no nginx parece resolvido até alguém pedir /wp-content/uploads/.env ou backup.sql. As regras que testei e os furos que…

13 horas atrás

Canonical errado no Yoast: corrigindo pelo filtro wpseo_canonical

O Search Console marca suas páginas 2, 3 e 4 como alternativas da página 1? Ajuste a tag canônica do…

16 horas atrás

Layout XML do Magento 2: remover bloco de módulo de terceiro

Um módulo de terceiro plantou um banner no topo da loja e você não quer desinstalar nada: tire o bloco…

1 dia atrás

Restaurar dump do Magento 2 em outro servidor: trocar a base_url no SQL

Importou o banco de produção e o site pula para o domínio antigo? Rode o UPDATE em core_config_data, limpe o…

2 dias atrás

Criar exceção customizada em PHP: quando estender Exception compensa

Seu catch trata pedido inexistente e banco fora do ar do mesmo jeito. Veja como criar exceção customizada em PHP…

3 dias atrás

DataProvider Magento 2: form do admin abre com campos vazios ao editar

O form do admin salva mas abre em branco na edição: veja o getData() indexado pelo id da entidade e…

4 dias atrás