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

array_chunk no PHP: processar 50 mil registros em lotes sem estourar memória

Importação morrendo com Allowed memory size exhausted? Fatie o processamento com array_chunk e, quando nem o array couber, leia o…

22 horas atrás

Unknown module in the enabled modules list: erro no Magento 2

Apagou a pasta do módulo e agora todo bin/magento morre reclamando de módulo desconhecido? A lista continua no app/etc/config.php, e…

2 dias atrás

Ordenar posts por meta_value_num: o preço em ordem certa no WP_Query

Preço gravado em post meta sai fora de ordem porque o MySQL compara texto. Use orderby meta_value_num e inclua quem…

3 dias atrás

Action Scheduler travado no WooCommerce: milhares de ações pendentes

Fila do Action Scheduler com dezenas de milhares de ações pendentes na loja? Rode a fila pelo WP-CLI, limpe o…

3 dias atrás

Query Builder do CodeIgniter 4: ver o SQL que ele realmente gerou

A consulta volta vazia e você não sabe qual WHERE foi montado. Veja o SQL antes de rodar com getCompiledSelect(false)…

4 dias atrás

Base legal da LGPD no checkout: o que é contrato e o que exige consentimento

Pare de pedir checkbox para tudo no checkout: mapeie campo a campo qual base legal do artigo 7º sustenta cada…

5 dias atrás