This is my Block File:
<?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();
}
}
}
If I call this block I get error
PHP Fatal error: Call to a member function dispatch() on null in
/var/www/html/magento2/vendor/magento/framework/View/Element/AbstractBlock.php
on line 642, referer:
http://magentodev.gworks.mobi/magento2/customer/account/index/
from apache error.log
file., why, suggect me how to solve this problem.
Best Answer
The problem is that your constructor does not match the parent class constructor.
To fix that you need to update your constructor:
Don't forget to flush the
var/cache
andvar/generation
after your changes.