Tudo o que quer saber antes de instalar.
Uma análise detalhada de como o Gestor de Base de Dados no Back-office: Adminer para PrestaShop 8 e 9 funciona, porque o construímos assim e o raciocínio por trás das funcionalidades acima.
Porquê integrar o Adminer no back-office
Quando precisa de depurar uma encomenda do PrestaShop, verificar um valor numa tabela cms_lang, executar uma consulta SQL pontual ou consultar o conteúdo de ps_configuration, o procedimento habitual é: abrir o painel do alojamento, lançar o phpMyAdmin, reintroduzir as credenciais e navegar até à base certa. Este percurso quebra a concentração e multiplica os erros (base errada selecionada, separador errado, credenciais esquecidas). O dfdbmanager substitui esses seis passos por um só: um clique no menu do PrestaShop, em Parâmetros Avançados > Adminer. Chega diretamente à lista das tabelas da sua loja, já autenticado.
Adminer em vez de phpMyAdmin
O Adminer é a alternativa moderna e leve ao phpMyAdmin, criada por Jakub Vrana e usada por milhares de programadores e agências. Um único ficheiro PHP de 508 kB (contra cerca de 50 MB do phpMyAdmin), interface mais limpa e mais rápida, suporte nativo de MySQL, PostgreSQL, SQLite, MS-SQL e Oracle. Para o PrestaShop em concreto: edição de linhas na própria lista, exportação SQL por blocos, pesquisa de texto integral nas tabelas, execução de consultas SQL de várias linhas com histórico e alteração do esquema diretamente na interface. O ficheiro adminer.php entregue é a última versão estável (5.4.2), Apache 2.0 / GPL 2.0, com código-fonte incluído.
Início de sessão automático: sem palavras-passe para reintroduzir
O carregador do módulo inicia a sessão do Adminer do lado do servidor e pré-preenche-a com as credenciais lidas da configuração do PrestaShop. Quando o Adminer arranca, encontra uma sessão já válida e passa diretamente à interface da base de dados. Sem ecrã de autenticação, sem campos para preencher, sem tokens para copiar. Se tiver vários colaboradores SuperAdmin, cada um terá a sua própria sessão do Adminer (as sessões PHP são por cookie do navegador), mas todos se ligam à mesma base do PrestaShop com as mesmas credenciais de sistema.
Segurança: apenas SuperAdmin, com barreira de dupla verificação
O Adminer é uma ferramenta poderosa: quem tem acesso à base tem acesso a tudo, encomendas, clientes, pagamentos e palavras-passe cifradas dos colaboradores. O módulo restringe o acesso apenas ao perfil SuperAdmin (id_profile = 1 no PrestaShop), com verificação no postProcess (antes da execução) e no initContent (renderização da interface). Um perfil de Logística, de Tradutor ou de Vendedor não terá acesso, mesmo que conheça o URL do Adminer. O próprio ficheiro adminer.php está bloqueado ao acesso HTTP direto por um .htaccess com Require all denied, pelo que é impossível lá chegar contornando o PrestaShop. A ligação ao MySQL usa as credenciais existentes do PrestaShop: sem novas palavras-passe criadas e sem alargamento de privilégios na base.
Compatível com o PrestaShop 8 e 9, com a mesma arquitetura
O módulo usa um ModuleAdminController legacy, suportado pelas duas versões principais do PrestaShop. A página de configuração usa Smarty, o separador do menu é instalado através da classe Tab (com ícone Material storage) e os hooks usados são 100% normais. No PrestaShop 9, o módulo funciona sem alterações, sem recompilação e sem acrescentar classes Symfony. Compatível com PHP 7.4 até 8.3, MySQL 5.7+ e MariaDB 10.3+. Testado em alojamentos partilhados.
Faixa de regresso, modo escuro e navegação contínua
Uma barra fixa no topo da página mantém-se visível durante toda a navegação no Adminer. À esquerda: DataFirefly Adminer e o nome da base atual. À direita: um botão azul de regresso ao back-office do PrestaShop, que o leva a Parâmetros Avançados com um clique. A faixa adapta-se automaticamente ao modo escuro do sistema através de @media (prefers-color-scheme: dark), com uma cor mais profunda e um azul mais vivo para se manter legível. Os URL internos do Adminer (ligações de tabela, formulários, ficheiros CSS e JS) são todos reescritos em pós-processamento para passarem pelo nosso controlador, pelo que não há desligações acidentais se clicar numa ligação do Adminer.
Para quem
Para programadores de PrestaShop que depuram diariamente e querem um atalho para a base de dados. Para agências que mantêm várias lojas de clientes e preferem uma ferramenta integrada a um painel de alojamento por site. Para comerciantes técnicos que querem ver os dados em bruto sem depender do alojamento. Para freelancers em missão que não têm acesso ao painel do alojamento do cliente mas têm uma conta SuperAdmin do PrestaShop. E para todos os que estão fartos de reintroduzir as credenciais do phpMyAdmin três vezes por dia.
Arquitetura técnica
O controlador AdminDfAdminerController faz override do checkToken() para contornar o CSRF do PrestaShop nas ações internas do Adminer (os formulários POST do Adminer não levam o token do PS, e a barreira do SuperAdmin a montante é estritamente mais forte como proteção). Na renderização, o ob_start é chamado com um callback que processa a saída do Adminer: injeção da faixa de regresso ao back-office e reescrita de todos os URL href, action e src que apontam para index.php, para lhes injetar controller=AdminDfAdminer. O callback sobrevive aos 19 exit; que o Adminer faz em vários pontos, ao contrário de um simples ob_get_clean, que seria saltado. O carregador pré-preenche a sessão com a palavra-passe real, o que basta para o Adminer saltar o formulário e passar diretamente à ligação.
Ainda não existem avaliações.