
Instalou um módulo de terceiro e ele plantou um banner de promoção no topo de todas as páginas. O resto do módulo funciona e você não quer desinstalar, quer só sumir com aquele bloco. Uma linha de layout XML dentro do seu tema resolve, sem encostar em nada dentro de vendor/.
Sem o nome exato você não remove nada. Ligue os hints numa cópia de homologação: deploy:mode:set developer limpa cache e conteúdo estático gerado, então não rode isso na loja que está vendendo.
sudo -u www-data bin/magento deploy:mode:set developer
sudo -u www-data bin/magento config:set dev/debug/template_hints_storefront 1
sudo -u www-data bin/magento config:set dev/debug/template_hints_blocks 1
sudo -u www-data bin/magento cache:flush Recarregue a loja: cada caixa vermelha passa a mostrar o template e o nome do bloco, algo como fornecedor.promo.banner. É esse nome que vai para o XML.
Crie o arquivo app/design/frontend/SuaVendor/seutema/Magento_Theme/layout/default.xml:
<?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>
<referenceBlock name="fornecedor.promo.banner" remove="true"/>
</body>
</page> Depois é só limpar: bin/magento cache:clean layout block_html full_page. O default.xml pega o site inteiro; se o banner só aparece na página do produto, o arquivo certo é catalog_product_view.xml e o efeito fica restrito ali.
Aqui mora a pegadinha que já me custou uma tarde. O remove tira o bloco e todos os filhos dele da árvore de layout: a classe nem chega a ser instanciada, então some junto qualquer consulta ao banco que aquele bloco fazia. O display=”false” mantém o bloco montado e só não imprime a saída, o que serve quando outro bloco depende dele.
A remoção é aplicada depois do merge de todos os layouts, então referenciar o bloco em outro arquivo não traz ele de volta: para reverter, apague o seu referenceBlock (ou troque para remove=”false”) e limpe o cache. Terminou de caçar o nome? Devolva os dois config:set para 0, rode cache:flush e volte a loja para production mode.
Importou o banco de produção e o site pula para o domínio antigo? Rode o UPDATE em core_config_data, limpe o…
Seu catch trata pedido inexistente e banco fora do ar do mesmo jeito. Veja como criar exceção customizada em PHP…
O form do admin salva mas abre em branco na edição: veja o getData() indexado pelo id da entidade e…
O meta está no banco mas some do /wp-json/wp/v2/posts. Veja o register_post_meta certo, com single, type, schema de array e…
Escreva 31 de agosto de 2026 em PHP 8.3 sem aquele array com os doze meses, usando IntlDateFormatter com pattern…
Listagem de CPT com meta_query que demora segundos: veja o EXPLAIN da query do WP_Query e o índice composto em…