Beim Versuch, ein Modul zu installieren, ist das folgende Problem aufgetreten. Wenn ich versuche, auf das Admin-Panel meines Magento zuzugreifen, wird Folgendes angezeigt:
Rufen Sie eine Mitgliedsfunktion setActive () auf boolean in C: \ xampp \ htdocs \ project \ vendor \ magento \ module-backend \ Model \ View \ Result \ Page.php in Zeile 27 auf
Ich habe alle Module von Drittanbietern und benutzerdefinierten Modulen deaktiviert. Ich habe den Code kompiliert, erhalte aber immer noch diesen Fehler.
EDIT: Ich habe ein var_dump($itemId)
knapp unterhalb der Zeile, wo der Fehler ist und das $itemid
ist ' Magento_Backend::dashboard
'.
EDIT 2: Der Fehler liegt daran, dass die $this->layout->getBlock('menu');
obige Zeile " " false zurückgibt. Ich kann jedoch nicht herausfinden, warum dies geschieht
quelle
Antworten:
Ich werde versuchen, das Problem zu lösen, wenn setActive () error ()
setup:di:compile
danach eintrifft, weil die Sitzung zerstört istGehen Sie also in das Magento-Verzeichnis und löschen Sie das von di: compile is path: - angegebene Dateigenre.
magento\generated\metadata\global.php
Löschen Sie diese Datei und verweisen Sie anschließend auf Ihre SeiteDies ist eine vorübergehende Lösung für diesen Fehler auf dem lokalen Server.
quelle
Ich hatte die gleiche Situation bei der Entwicklung eigener Module (ich habe Layoutdateien für Grid in adminhtml erstellt / geändert). Versuchen Sie, den Cache zu leeren und in den Entwicklungsmodus zu wechseln:
Ich nehme an, dass einige zwischengespeicherte Inhalte im
cache:clean
undsetup:di:compile
im Produktionsmodus nicht bereinigt werden. Sie können wieder in den Produktionsmodus wechseln, wenn im Entwicklungsmodus ein Fehler auftritt.quelle
Versuchen Sie, die folgenden Befehle zu entfernen
pub/static
undvar/cache
dann auszuführenDanach wird es funktionieren
quelle
Wenn Sie dies tun
getBlock()
, wird der Block zurückgegeben, oder es wird false zurückgegeben, wenn er nicht gefunden werden kann. Sie müssen einen Check-in haben, etwa:Der Grund, warum es Ihren Block nicht finden kann, ist etwas, für das ich mehr Details benötigen würde. Wenn Sie eine Layout-XML-Datei verwenden, stellen Sie sicher, dass der Block und die Klasse des Blocks keine Fehler aufweisen.
quelle
Das Problem ist, dass die Layout-XML dieses Controller-Pfads nicht richtig geladen wird.
Überprüfen Sie, ob der Name und der Namespace des Controllers mit dem Namen der Layoutdatei übereinstimmen. Achten Sie auf die Groß- und Kleinschreibung.
Zum Beispiel:
custom_module_admin_customcontroller_action.xml
namespace Custom\Module\Controller\Adminhtml\Customcontroller
und nichtCustomController
quelle