Lỗi nghiêm trọng Gọi đến chức năng thành viên công văn () trong khi gọi Khối của tôi trong magento 2


19

Đây là Tệp Khối của tôi:

 <?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();

    }
   }

 }

Nếu tôi gọi khối này, tôi gặp lỗi

Lỗi nghiêm trọng của PHP: Gọi tới một hàm chức năng thành viên () trên null trong /var/www/html/magento2/vendor/magento/framework/View/Euity/AbaugeBlock.php trên dòng 642, tham chiếu: http: //magentodev.gworks .mobi / magento2 / khách hàng / tài khoản / chỉ mục /

từ error.logtập tin apache ., tại sao, cố gắng giải quyết vấn đề này.

Câu trả lời:


38

Vấn đề là hàm tạo của bạn không khớp với hàm tạo của lớp cha.

Để khắc phục rằng bạn cần cập nhật hàm tạo của mình:

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;
  }

Đừng quên tuôn ra var/cachevar/generationsau những thay đổi của bạn.


1
Cảm ơn bạn. Điều này đã giúp tôi với một trong những điều 'Tôi biết tôi đang quên điều gì đó nhưng tôi không thể nhớ những tình huống'.
siliconrockstar
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.