Fatal Error Memanggil ke fungsi pengiriman anggota () saat memanggil Blokir saya di magento 2


19

Ini File Blokir saya:

 <?php

 namespace ChennaiBox\Mymail\Block\Mail;

 class MailContent extends \Magento\Framework\View\Element\Template
 {
 protected $_objectManager;

 protected $customerSession;

 public function __construct(
    \Magento\Customer\Model\Session $customerSession,  
    \Magento\Framework\ObjectManagerInterface $objectManager
 ) {
    $this->customerSession = $customerSession;
    $this->_objectManager = $objectManager;
  }

 public function mymailData()
 {
try{

     if ($this->customerSession->isLoggedIn()) {
     $cutomerEmail    =(string)$this->customerSession->getCustomer()->getEmail();

     echo $cutomerEmail;

      else{
            $this->_redirect('customer/account/login/');
          }
   }catch (Exception $e) {

        $e->getMessage();

    }
   }

 }

Jika saya menyebut blok ini, saya mendapatkan kesalahan

Kesalahan fatal PHP: Panggil ke fungsi pengiriman anggota () pada null di /var/www/html/magento2/vendor/magento/framework/View/Element/AbstractBlock.php pada saluran 642, perujuk: http: //magentodev.gworks .mobi / magento2 / pelanggan / akun / indeks /

dari error.logfile apache ., mengapa, beri tahu saya cara mengatasi masalah ini.

Jawaban:


38

Masalahnya adalah konstruktor Anda tidak cocok dengan konstruktor kelas induk.

Untuk memperbaikinya Anda perlu memperbarui konstruktor Anda:

public function __construct(
    \Magento\Framework\View\Element\Template\Context $context,
    \Magento\Customer\Model\Session $customerSession,  
    \Magento\Framework\ObjectManagerInterface $objectManager,
    array $data = []
 ) {
    parent::__construct($context, $data);
    $this->customerSession = $customerSession;
    $this->_objectManager = $objectManager;
  }

Jangan lupa untuk menyiram var/cachedan var/generationsetelah perubahan Anda.


1
Terima kasih. Ini membantu saya dengan salah satu dari situasi 'Saya tahu saya lupa sesuatu tetapi saya tidak ingat apa'.
siliconrockstar
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.