Panggil ke fungsi anggota setActive () di boolean


10

Saya mengalami masalah berikut ketika saya mencoba memasang modul. Ketika saya mencoba mengakses panel admin di magento saya, saya mendapatkan:

Panggil ke fungsi anggota setActive () pada boolean di C: \ xampp \ htdocs \ project \ vendor \ magento \ module-backend \ Model \ View \ Result \ Page.php on line 27

Saya menonaktifkan semua modul pihak ketiga dan khusus, saya mengkompilasi kode tetapi saya masih mendapatkan kesalahan ini.

EDIT: Saya melakukan var_dump($itemId)tepat di bawah garis di mana kesalahan itu dan itu $itemidadalah ' Magento_Backend::dashboard'.

EDIT 2: Kesalahannya adalah karena " $this->layout->getBlock('menu');" baris di atas mengembalikan false. Saya tidak dapat menemukan mengapa ini terjadi


Jawaban:


14

Saya akan mencoba untuk menyelesaikan masalah ini jika setActive () error () tiba setelah setup:di:compileitu karena sesi dihancurkan

jadi pergi ke direktori Magento dan kemudian hapus genre file ted by di: compile is path: -

magento\generated\metadata\global.php hapus file ini kemudian setelah merujuk halaman Anda

ini adalah solusi sementara untuk kesalahan ini di server lokal.


Saya sudah menghapusnya dan masih tidak berfungsi.
Bhavin Shah

Ini benar-benar bekerja untuk saya, namun, apakah aman untuk menghapus file ini?
Greg

ya aman untuk menghapus selama Anda melakukan pengaturan: tingkatkan sesudahnya
John

Ini berhasil untuk saya. Terima kasih.
Riddhish Bhayani

Ini juga bekerja untuk saya.
Magento Learner

6

Saya memiliki situasi yang sama dalam pengembangan modul sendiri (saya membuat / mengubah file layout untuk grid di adminhtml). Cobalah untuk membersihkan cache dan beralih ke mode pengembangan:

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

Saya kira beberapa hal yang di-cache tidak dibersihkan pada cache:clean& setup:di:compiledalam mode produksi. Anda dapat beralih kembali ke mode produksi kembali jika kesalahan akan hilang dalam mode pengembangan.


Saya pikir saya melakukan hal yang sama! Itu masalah file tata letak. Terima kasih!
Sotiris Oik

1
setup php bin / magento: di: compile - mengeksekusi perintah ini dan menyelesaikan masalah saya
Pandurang

2

Cobalah untuk menghapus pub/staticdan var/cachekemudian jalankan perintah di bawah ini

php bin/magento setup:upgrade

php bin/magento setup:static-content:deploy

Setelah itu akan bekerja


1
@Priyank Saya berada dalam situasi yang sama, saya mencari di google dan menemukan pertanyaan itu di google, setelah saya menyelesaikan masalah, saya mengajarkan yang lebih baik untuk berbagi solusinya. Mungkin Anda hanya tidak suka karena Anda memerlukan lencana atau sesuatu yang lain.
Noni

0

Ketika Anda melakukannya, getBlock()ia mengembalikan blok atau mengembalikan salah jika tidak dapat menemukannya. Anda perlu memiliki cek di tempat seperti:

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

Alasan mengapa tidak dapat menemukan blok Anda adalah sesuatu yang saya perlukan untuk rincian lebih lanjut. Jika Anda menggunakan file xml layout pastikan bahwa blok dan kelas blok tidak memiliki kesalahan.


0

Masalahnya adalah tata letak xml jalur pengontrol ini tidak dimuat dengan benar.

Periksa apakah nama dan namespace controller sesuai dengan nama file layout. Jaga sensitivitas case.

Sebagai contoh:

  • custom_module_admin_customcontroller_action.xml
  • namespace Custom\Module\Controller\Adminhtml\Customcontroller dan tidak CustomController
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.