J'ai rencontré le problème suivant lorsque j'essayais d'installer un module. Lorsque j'essaie d'accéder au panneau d'administration sur mon magento, j'obtiens:
Appelez une fonction membre setActive () sur booléen dans C: \ xampp \ htdocs \ project \ vendor \ magento \ module-backend \ Model \ View \ Result \ Page.php à la ligne 27
J'ai désactivé tous les modules tiers et personnalisés, j'ai compilé le code mais j'obtiens toujours cette erreur.
EDIT: J'ai fait var_dump($itemId)
juste en dessous de la ligne où se trouve l'erreur et l' $itemid
est ' Magento_Backend::dashboard
'.
EDIT 2: L'erreur est due au fait que la ligne " $this->layout->getBlock('menu');
" ci-dessus renvoie false. Je ne trouve pas pourquoi cela se produit
magento2
magento-2.1
Sotiris Oik
la source
la source
Réponses:
Je vais essayer de résoudre ce problème si l'erreur setActive () () est arrivée après,
setup:di:compile
car la session est détruitealors allez dans le répertoire Magento puis supprimez le genre de fichier ted par di: compile is path: -
magento\generated\metadata\global.php
supprimez ce fichier puis référez votre pageil s'agit d'une solution temporaire pour cette erreur sur le serveur local.
la source
J'ai eu la même situation dans le développement de modules propres (j'ai créé / modifié des fichiers de mise en page pour la grille en adminhtml). Essayez de nettoyer le cache et de passer en mode développement:
Je suppose que certaines choses en cache ne sont pas nettoyées sur
cache:clean
etsetup:di:compile
en mode production. Vous pouvez revenir en mode production si l'erreur disparaîtra en mode développement.la source
Essayez de supprimer
pub/static
,var/cache
puis exécutez les commandes ci-dessousAprès ça ça marchera
la source
Lorsque vous le faites,
getBlock()
il retourne le bloc ou il renvoie false s'il ne le trouve pas. Vous devez avoir un chèque en place quelque chose comme:La raison pour laquelle il ne peut pas trouver votre bloc est quelque chose pour laquelle j'aurais besoin de plus de détails. Si vous utilisez un fichier xml de mise en page, assurez-vous que le bloc et la classe du bloc ne contiennent aucune erreur.
la source
Le problème est que le XML de mise en page de ce chemin de contrôleur ne se charge pas correctement.
Vérifiez que le nom et l'espace de noms du contrôleur correspondent au nom du fichier de mise en page. Prenez soin de la sensibilité à la casse.
Par exemple:
custom_module_admin_customcontroller_action.xml
namespace Custom\Module\Controller\Adminhtml\Customcontroller
et pasCustomController
la source