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

WordPress não aparece no Google: noindex esquecido e robots.txt virtual

Site novo há semanas e nenhuma página indexada? Confira a caixinha de visibilidade em Leitura, o noindex no HTML e…

18 horas atrás

array_map perde as chaves do array no PHP: como manter o índice

O retorno do array_map voltou com índice 0, 1, 2 e o código que dependia da chave quebrou. Entenda quando…

1 dia atrás

Backup do Magento 2 com mysqldump: dump leve sem as tabelas de log

Dump de 12 GB que demora horas porque arrasta report_event e cron_schedule. Faça o backup em duas passadas, guarde só…

2 dias atrás

Preference do di.xml não aplica no Magento 2: o que checar antes

Escreveu a preference e o Magento 2 continua usando a classe original? Confira a área do di.xml, o generated/code e…

3 dias atrás

Filtro por atributo do WooCommerce vazio: global x personalizado

Cadastrou Cor direto na aba Atributos do produto e o filtro por atributo vem vazio. Veja como identificar o tipo,…

3 dias atrás

wp db query: rodar SQL no WordPress pelo WP-CLI sem phpMyAdmin

Precisa de um SELECT no banco do cliente e só tem SSH? O wp db query pega a senha do…

4 dias atrás