You can call helper function by define helper class into construct method of class,
You can declare your helper classs in construct method like this,
\Vendor\Mymodule\Helper\Data $dataHelper
And
$this->dataHelper = $dataHelper;
Now you can call any functio of Data.php helper function like this,
$this->dataHelper->getFunction()
and your function is working.
namespace Vendor\Module_Name\Block\Product;
class ListProduct extends \Magento\Catalog\Block\Product\ListProduct
{
public function __construct(
\Magento\Catalog\Block\Product\Context $context,
\Magento\Framework\Data\Helper\PostHelper $postDataHelper,
\Magento\Catalog\Model\Layer\Resolver $layerResolver,
\Magento\Catalog\Api\CategoryRepositoryInterface $categoryRepository,
\Magento\Framework\Url\Helper\Data $urlHelper,
\Vendor\Mymodule\Helper\Data $dataHelper,
array $data = []
) {
$this->dataHelper = $dataHelper;
parent::__construct(
$context,
$postDataHelper,
$layerResolver,
$categoryRepository,
$urlHelper,
$data
);
}
public function test(){
$this->dataHelper->getHelperFunction();
}
}
Remove var folder and check
you can call your helper function as per below,
namespace Vendor\Module_Name\Block\Product;
class ListProduct extends \Magento\Catalog\Block\Product\ListProduct
{
public function __construct(
\Magento\Catalog\Block\Product\Context $context,
\Magento\Framework\Data\Helper\PostHelper $postDataHelper,
\Magento\Catalog\Model\Layer\Resolver $layerResolver,
\Magento\Catalog\Api\CategoryRepositoryInterface $categoryRepository,
\Magento\Framework\Url\Helper\Data $urlHelper,
\Vendor\Mymodule\Helper\Data $dataHelper,
array $data = []
) {
$this->dataHelper = $dataHelper;
parent::__construct(
$context,
$postDataHelper,
$layerResolver,
$categoryRepository,
$urlHelper,
$data
);
}
public function test(){
$this->dataHelper->getHelperFunction();
}
}
Remove var
folder and refresh again.
Best Answer
Try something like below in your observer file.