I'm trying to get store information which are set in backend like email,contact,address etc…(I've taken reference from here : https://magento.stackexchange.com/a/125359/39607 )
To do so I've created a module
Following is my block file…
Contact.php
<?php
namespace Vendor\Module\Block;
class Contact extends \Magento\Framework\View\Element\Template
{
protected $_storeInfo;
public function __construct(
\Magento\Store\Model\Information $storeInfo
)
{
$this->_storeInfo = $storeInfo;
}
public function getPhoneNumber()
{
return $this->_storeInfo->getInformationObject()->getPhone();
}
}
And in my phtml I'm calling like this :
<?php
echo "Phone: ".$block->getPhoneNumber();
?>
But it's not working and showing me an error :
( ! ) Fatal error: Uncaught Error: Call to a member function
dispatch() on null in
vendor\magento\framework\View\Element\AbstractBlock.php on line 644 (
! ) Error: Call to a member function dispatch() on null in
vendor\magento\framework\View\Element\AbstractBlock.php on line 644
What can be the issue here??
Best Answer
It's because your constructor does not match the parent block constructor. (the
...
in my answer you linked are important).