Я столкнулся со следующей проблемой, когда пытался установить модуль. Когда я пытаюсь получить доступ к панели администратора на моем magento, я получаю:
Вызов функции-члена setActive () для логического значения в C: \ xampp \ htdocs \ project \ vendor \ magento \ module-backend \ Model \ View \ Result \ Page.php в строке 27
Я отключил все сторонние и пользовательские модули, скомпилировал код, но все еще получаю эту ошибку.
РЕДАКТИРОВАТЬ: я сделал var_dump($itemId)
чуть ниже строки, где ошибка и $itemid
' Magento_Backend::dashboard
'.
РЕДАКТИРОВАТЬ 2: Ошибка в том, что строка " $this->layout->getBlock('menu');
" выше возвращает false. Я не могу найти, хотя, почему это происходит
magento2
magento-2.1
Сотирис Оик
источник
источник
Ответы:
Я постараюсь решить эту проблему, если setActive () error () прибыл после
setup:di:compile
того как сеанс уничтоженпоэтому перейдите в каталог Magento, а затем удалите жанр файла с помощью di: compile is path: -
magento\generated\metadata\global.php
удалите этот файл, затем после ссылки на вашу страницуэто временное решение для этой ошибки на локальном сервере.
источник
У меня была такая же ситуация при разработке собственных модулей (я создал / изменил файлы макетов для сетки в adminhtml). Попробуйте очистить кеш и перейти в режим разработки:
Я предполагаю, что некоторые кэшированные данные не очищаются в
cache:clean
&setup:di:compile
в производственном режиме. Вы можете вернуться обратно в рабочий режим, если ошибка исчезнет в режиме разработки.источник
Попробуйте удалить,
pub/static
аvar/cache
затем выполните следующие командыПосле этого будет работать
источник
Когда вы это делаете,
getBlock()
он возвращает блок или возвращает false, если он не может его найти. Вы должны иметь чек на месте что-то вроде:Причина, по которой он не может найти ваш блок - это то, для чего мне нужно больше деталей. Если вы используете XML-файл макета, убедитесь, что в блоке и классе блока нет ошибок.
источник
Проблема в том, что макет XML этого пути контроллера не загружается должным образом.
Убедитесь, что имя и пространство имен контроллера совпадают с именем файла макета. Позаботьтесь о чувствительности к регистру.
Например:
custom_module_admin_customcontroller_action.xml
namespace Custom\Module\Controller\Adminhtml\Customcontroller
и неCustomController
источник