Qual é a mensagem de erro:
O parâmetro necessário 'theme_dir' não foi passado
Está relacionado no Magento 2? E como esse problema pode ser resolvido?
Qual é a mensagem de erro:
O parâmetro necessário 'theme_dir' não foi passado
Está relacionado no Magento 2? E como esse problema pode ser resolvido?
Respostas:
Apenas no caso de você estar removendo o tema diretamente (não da maneira Magento).
Depois siga estes passos.
PASSO 1: Operações de arquivo
Exclua o conteúdo de
app/design/frontend/<Vendor>
(certifique-se de fazer backup primeiro).Exclua todo o conteúdo da pasta
var/view_preprocessed
&pub/static/frontend
.PASSO 2: Operações do banco de dados
Vá para a sua
theme
mesa e exclua a entrada do seu tema criado.Depois disso...
Vá para sua
core_config_data
tabela e procuretheme
e você obterá registros de caminho, comodesign/theme/theme_id
substituir seu ID de tema padrão.PASSO 3: Liberar cache
Liberar seu cache
php bin/magento cache:flush
Deixe-me saber se você ainda tiver problemas depois disso.
fonte
theme
tabela, mas esqueci ocore_config_data
valor.setup:static-content:deploy
administrador, retornei à interface do usuário.pub/static/.htaccess
foi não estar lá. obrigadoEssa mensagem de erro significa que você tem um tema configurado que não existe no sistema de arquivos (mais).
Pode ser facilmente corrigido selecionando um tema válido. Vá para Conteúdo -> Configuração , selecione o escopo (global, site, store_view) e altere o tema. Depois de fazer isso, você também deve removê-lo de Conteúdo -> Temas .
Referências
fonte
No meu caso, excluí um tema filho do diretório de fornecedores. Mas a entrada do banco de dados ainda estava lá na
theme
tabela. Então, vá para atheme
tabela e exclua o registro que aponta para o tema excluído.fonte
composer remove vendor/theme
?rm -rf vendor/theme
Verifique se a
theme
entrada e a entrada da tabelamagento\app\design\frontend\<Vendor>
serão iguais.Caso contrário, isso causa esse problema.
Remova o tema desnecessário via Admin -> Conteúdo -> Design -> Temas . Delete isso. Portanto, ele removerá a entrada de banco de dados também.
Se você apenas remover a pasta, ela não funcionará
fonte
Esse problema também pode ocorrer quando você estiver em um estado emulado, por exemplo, em um comando da CLI. Eu tive uma situação em que não pude enviar um email na CLI, porque o comando de agrupamento estava sendo executado em um estado emulado:
No exemplo acima, quando o email tentava determinar seu diretório de modelo, ele seria mapeado para o
global/Magento/backend
que não existe. Para corrigir isso, tive que adicioná-lo manualmente no meu construtor:Após essa correção, o problema foi resolvido e eu poderia enviar o email.
Atualizar:
Quando se trata de enviar email usando a CLI, uma abordagem mais adequada seria usar emulação. Por exemplo:
Dessa forma, você não precisa de seus pequenos hacks sujos.
fonte
corre
sql UPDATE core_config_data SET value=NULL WHERE path='design/theme/theme_id'
em seguida, limpar os
pub/static/frontend
,var/view_preprocessing
,var/cache
,var/page_cache
diretórios.fonte
@hakre está correto. Eu recebi o mesmo erro
Required parameter 'theme_dir' was not passed
. Abaixo, explico o que fiz para causar o erro:Criei um tema no diretório app / design / frontend / MyVendorTheme2 / myThemeName2 e o configurei selecionando o tema " MyVendorTheme2 - myThemeName2 " no navegador Admin do Magento 2 ( Lojas> Configuração> CONFIGURAÇÕES DE TEMAS> GERAL> Design> Tema do projeto ) . Decidi, então, mover o diretório " myThemeName2 " (contendo meu novo tema) para uma pasta de fornecedor (existente) diferente " MyVendorTheme1 " app / design / frontend / MyVendorTheme1 / myThemeName2 e removi-o da pasta " MyVendorTheme2 " onde foi antes. Eu continuei a compilar ativos (ou seja
grunt clean
,grunt exec:myThemeName2
,grunt less:myThemeName2
) e abra o navegador no subdomínio do tema (por exemplo, http: // myvirtualhostdomain: myport / myvendortheme1_mythemename2_magento2_quickstart / ).Inicialmente, recebi um erro não especificado:
There has been an error processing your request Exception printing is disabled by default for security reasons. Error log record number:
Ativei o relatório de erros renomeando
pub/errors/local.xml.sample
paralocal.xml
e atualizei a página. Foi-me apresentado o erroRequired parameter 'theme_dir' was not passed
.Resolvi o erro voltando ao meu navegador Admin do Magento 2 ( Lojas> Configuração> CONFIGURAÇÕES DE TEMAS> GERAL> Design> Tema do design ), que tinha meu tema de design anterior e agora inválido selecionado, então escolhi o correto.
fonte
Este erro ocorreu ao salvar imagens do produto após a instalação de um tema personalizado.
Eu tinha o tema personalizado definido como um tipo virtual, que está no banco de dados na tabela de temas, digite = 1. No meu caso, eu não estava mais usando o tema, então o excluí da tabela.
fonte
1 - Use o comando abaixo para identificar os temas no painel de administração.
2 - Execute o comando para identificar os temas instalados:
3- Execute estes comandos abaixo para criar o tema que não existe:
fonte
Se nada funcionou, não se esqueça de verificar a seção de categorias. Também há configurações de design. Verifique se o tema de design correto está atribuído. No meu caso, eu estava recebendo o erro apenas em algumas categorias.
fonte
Ao adicionar ou editar produtos, vá para a seção Design e altere a opção de layout.
fonte
Você pode remover o tema não utilizado do DB diretamente, executando a consulta abaixo:
quando unthetheused é o tema não utilizado, e depois você clena seu cache
fonte
Eu tive esse problema ao remover por acidente a pasta app / desing / adminhtml / theme-name. Trazê-lo de volta resolveu meu problema. Além disso, só ocorreu quando tentei entrar no Painel de Administração.
fonte
Em alguns casos, se você excluir o tema personalizado de maneira adequada, também enfrentará esse erro. Nesta situação:
Atualize o erro de página desaparecido.
fonte
Eu resolvi o problema. No meu caso, o problema não era o Magento2, mas uma operação incorreta que fiz há algum tempo, como a seguir: criei um tema criando o caminho relativo em app / design / frontend / MyFolder / MyTheme e o registrei conforme explicado na documentação on-line do Magento 2. Decidi cancelar o tema e, em vez disso, use o comando apropriado: bin / magento theme: uninstall frontend / MyFolder / MyTheme Excluí as pastas diretamente. Esta não é uma boa operação, pois o banco de dados não é atualizado com as informações necessárias. Solução: com um editor de banco de dados como phpmyadmin, exclua o registro na tabela "Tema" correspondente às pastas excluídas. Espero que isso ajude!
fonte
Sei que essa pergunta é bastante antiga, mas desde que me deparei com isso hoje e descobri rapidamente qual era o meu problema, decidi postar minha resposta como um lembrete para todos aqueles que, como eu, usam o PhpStorm para trabalhar com o Magento: lembre-se de verificar seus arquivos ao mudar de ramificação.
No meu caso, o ramo em que eu estava trabalhando não tinha os arquivos de tema necessários (eles foram ocultados pelo PhpStorm quando mudei do ramo de temas para o ramo mestre) porque ainda não foram mesclados nele, portanto, o erro.
Espero que isso possa ajudar alguém.
fonte
exclua todos os arquivos temporários do tema que não estiver usando no site e exclua também do tema que não está usando e execute o cache: flush
fonte