ブール値のメンバー関数setActive()の呼び出し


10

モジュールをインストールしようとしたときに次の問題が発生しました。magentoの管理パネルにアクセスしようとすると、次のようになります。

27行目のC:\ xampp \ htdocs \ project \ vendor \ magento \ module-backend \ Model \ View \ Result \ Page.phpのブール値でメンバー関数setActive()を呼び出します

サードパーティモジュールとカスタムモジュールをすべて無効にしました。コードをコンパイルしましたが、まだこのエラーが発生します。

編集:私はvar_dump($itemId)エラーがあり、$itemid' Magento_Backend::dashboard' である行のすぐ下を行いました

編集2:エラーは、$this->layout->getBlock('menu');上の行 " "がfalseを返すためです。なぜこれが起こっているのかわかりません


回答:


14

setup:di:compileセッションの破棄が破棄された後にsetActive()error()が到着した場合、問題を解決するためにこれを試みます

Magentoディレクトリに移動してから、di:compile is pathによって生成されたファイルを削除します:-

magento\generated\metadata\global.php このファイルを削除してから、ページを参照してください

これは、ローカルサーバーでのこのエラーの一時的な解決策です。


すでに削除しましたが、まだ機能しません。
Bhavin Shah

実際に機能しましたが、このファイルを削除しても安全ですか?
グレッグ

はい、セットアップを行っている限り削除しても安全です。後でアップグレードします
John

これでうまくいきました。ありがとう。
Riddhish Bhayani、

これも私にとってはうまくいきました。
Magento Learner

6

独自のモジュールの開発でも同じ状況でした(adminhtmlでグリッドのレイアウトファイルを作成/変更しました)。クリーンキャッシュしよう開発モードに切り替えます:

$ ./bin/magento cache:clean
$ ./bin/magento deploy:mode:set developer

私はいくつかのキャッシュされたものが上の清掃されていないと仮定cache:cleansetup:di:compileプロダクションモードで。開発モードでエラーが発生した場合は、本番モードに戻すことができます。


私も同じことをしたと思います!レイアウトファイルの問題でした。ありがとう!
Sotiris Oik、2018

1
php bin / magento setup:di:compile-このコマンドを実行して私の問題を解決しました
Pandurang

2

削除pub/staticしてvar/cacheから、以下のコマンドを実行してみてください

php bin/magento setup:upgrade

php bin/magento setup:static-content:deploy

その後それは動作します


1
@Priyank私は同じ状況にありました、私はそれをグーグルで調べ、グーグルでその質問を見つけました、問題を解決するようになったら、解決策を共有する方が良いと教えました。バッジや何かが必要なため、嫌いかもしれません。
ノニ

0

実行するgetBlock()と、ブロックが返されるか、ブロックが見つからない場合はfalseが返されます。次のような場所にチェックインする必要があります。

$block = $layout->getBlock('name);
If ($block){
//execute the rest
}

それがあなたのブロックを見つけることができない理由は私が詳細を必要とするものです。レイアウトxmlファイルを使用している場合は、ブロックとブロックのクラスにエラーがないことを確認してください。


0

問題は、このコントローラーパスのレイアウトxmlが正しく読み込まれていないことです。

コントローラの名前と名前空間がレイアウトファイル名と一致していることを確認してください。大文字と小文字の区別に注意してください。

例えば:

  • custom_module_admin_customcontroller_action.xml
  • namespace Custom\Module\Controller\Adminhtml\Customcontroller ではなく CustomController
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.