Magento

Bookmarks da grid do Magento 2: colunas somem e o filtro fica preso

Você sobrescreveu o sales_order_grid.xml no seu módulo, limpou o cache, e o admin insiste nas colunas antigas. Ou tem um filtro grudado na grid que não sai nem clicando em “Limpar tudo”. O XML não é a única fonte de verdade aqui: o estado visual de cada grid fica salvo na tabela ui_bookmark, separado por usuário do admin, e ele ganha do arquivo.

A coluna config de cada linha guarda um JSON com as colunas visíveis, a ordem delas, o tamanho da página e os filtros aplicados. Enquanto esse registro existir, o Magento monta a grid a partir dele.

Olhe o que está salvo antes de apagar

SELECT bookmark_id, user_id, identifier, title, `current`, updated_at
FROM ui_bookmark
WHERE namespace = 'sales_order_grid';

DELETE FROM ui_bookmark WHERE namespace = 'sales_order_grid';

Tire um dump antes do DELETE, nem que seja só dessa tabela: mysqldump -u usuario -p base ui_bookmark > ui_bookmark.sql. Cada linha é a tela de trabalho de alguém e não tem desfazer.

O identifier current é o estado ativo da sessão e default é a “Default View”. Cada visão salva com nome vira uma linha própria, com identifier no formato _1712345678901 (o timestamp que o JS gerou) e o nome legível em title; a coluna current marca qual delas está ativa. Se só uma pessoa reclama, acrescente AND user_id = 7 (o id em admin_user) e não derrube a configuração do time inteiro.

A armadilha do namespace

O namespace não é o título que aparece na tela, é o nome do arquivo do ui_component — e ele nem sempre é o que você chutaria. A grid de faturas, por exemplo, é sales_order_invoice_grid, não sales_invoice_grid. Confira a lista antes de escrever o WHERE e limpe o cache depois:

ls vendor/magento/module-sales/view/adminhtml/ui_component/
# sales_order_grid.xml, sales_order_invoice_grid.xml,
# sales_order_shipment_grid.xml, sales_order_creditmemo_grid.xml

sudo -u www-data php bin/magento cache:clean config layout

Depois disso, um Ctrl+Shift+R na tela do admin. Se a coluna nova ainda não aparecer, aí sim o problema está no XML e não no bookmark.

Se travou nisso e precisa de ajuda, me chama aqui.

Post Recentes

Erro 500 no Magento 2: achar o relatório em var/report pelo ID da tela

O hash que o Magento mostra junto do erro é o nome de um arquivo em var/report. Veja como abrir,…

23 horas atrás

Campo extra no checkout em blocos do WooCommerce sem voltar pro shortcode

Seu snippet com woocommerce_checkout_fields parou de aparecer no checkout em blocos. Registre o campo pela API nova e leia o…

2 dias atrás

Fuso horário no PHP 8.3: log com 3 horas de diferença no servidor

O pedido entrou às 21h e o relatório mostra 00h do dia seguinte. Onde setar date.timezone no PHP 8.3 e…

2 dias atrás

Magento 2 não envia e-mail de pedido: async sending e cron parado

O pedido entra na loja e o e-mail nunca sai: antes de culpar o SMTP, veja o envio assíncrono, a…

3 dias atrás

cron_schedules WordPress: intervalo de 5 minutos no WP-Cron

O WordPress só oferece hourly, twicedaily, daily e weekly. Use o filtro cron_schedules para criar um intervalo de 5 minutos…

4 dias atrás

E-mails do WooCommerce não chegam: como testar o envio de um pedido real

Dispare pela linha de comando o e-mail de um pedido que já existe na loja e descubra se a falha…

4 dias atrás