In Magento 2 we can check Customer is logged in or not by checking the given article,
Using the Block file, Pass Magento\Framework\App\Http\Context as a dependency to construct the method.
<?php
namespace Rbj\Customer\Block;
class Customerinfo extends \Magento\Framework\View\Element\Template
{
public function __construct(
\Magento\Framework\View\Element\Template\Context $context,
\Magento\Framework\App\Http\Context $httpContext,
array $data = []
) {
$this->httpContext = $httpContext;
parent::__construct($context, $data);
}
/*
* return bool
*/
public function getLogin() {
return $this->httpContext->isLoggedIn();
}
?>
Call getLogin function in the template file,
$isLoggedin = $block->getLogin();
if($isLoggedin) {
// show your message
}
Never use Object Manager directly in real code in Magento 2.
Here I have shown just a demonstration using Objectmanager. Using Objectmanager directly create performance issue for the site.
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$userContext = $objectManager->get('Magento\Framework\App\Http\Context');
$isLoggedIn = $userContext->getValue(\Magento\Customer\Model\Context::CONTEXT_AUTH);
if($isLoggedIn) {
// do coding for customer loggin
}
