Encontrei o seguinte problema quando estava tentando instalar um módulo. Quando tento acessar o painel de administração no meu magento, recebo:
Chame para uma função membro setActive () no booleano em C: \ xampp \ htdocs \ projeto \ vendedor \ magento \ módulo-back-end \ Model \ View \ Result \ Page.php na linha 27
Desativei todos os módulos personalizados e de terceiros, compilei o código, mas ainda recebo esse erro.
Edição: Eu fiz um var_dump($itemId)
pouco abaixo da linha onde está o erro e $itemid
é o ' Magento_Backend::dashboard
'.
EDIT 2: O erro ocorre porque a linha " $this->layout->getBlock('menu');
" acima retorna false. Não consigo descobrir por que isso está acontecendo
magento2
magento-2.1
Sotiris Oik
fonte
fonte
Respostas:
Vou tentar isso para resolver o problema se o erro setActive () () chegou depois que a
setup:di:compile
sessão é destruídaentão vá para o diretório Magento e exclua o gênero do arquivo di: compile is path: -
magento\generated\metadata\global.php
exclua este arquivo e depois consulte a sua páginaEsta é uma solução temporária para esse erro no servidor local.
fonte
Eu tive a mesma situação no desenvolvimento de módulos próprios (criei / alterei arquivos de layout para grade no adminhtml). Tente limpar o cache e alternar para o modo de desenvolvimento:
Acho que algumas coisas em cache não é limpo
cache:clean
esetup:di:compile
em modo de produção. Você pode voltar ao modo de produção se ocorrer um erro no modo de desenvolvimento.fonte
Tente remover
pub/static
evar/cache
execute os comandos abaixoDepois disso, vai funcionar
fonte
Quando você faz
getBlock()
, retorna o bloco ou retorna false se não conseguir encontrá-lo. Você precisa ter um check-in como algo como:A razão pela qual ele não consegue encontrar seu bloco é algo para o qual eu precisaria de mais detalhes. Se você estiver usando um arquivo xml de layout, verifique se o bloco e a classe do bloco não possuem erros.
fonte
O problema é que o xml de layout deste caminho do controlador não está sendo carregado corretamente.
Verifique se o nome e o espaço para nome do controlador estão correspondendo ao nome do arquivo de layout. Cuide da sensibilidade do caso.
Por exemplo:
custom_module_admin_customcontroller_action.xml
namespace Custom\Module\Controller\Adminhtml\Customcontroller
e nãoCustomController
fonte