Как проверить, что пользователь залогинился в Magento

Довольно часто при работе с модулями в Мадженто возникает задача определить, вошел ли пользователь в систему (залогинился) или нет. Т.е., определять пользователя как авторизованного, или как гостя. Например, затем эту информацию можно будет использовать, чтобы давать залогиненому пользователю доступ к дополнительному функционалу в интернет-магазине или перенаправлять на определенную страницу на сайте (к примеру, страницу входа или регистрации).

Получить информацию о входе в систему Мадженто можно довольно просто, используя данные сессии пользователя. Для этого мы будем использовать единственный экземпляр класса (т.е., Singleton) модуля Customer.

Чтобы проверить пользователя на авторизованность в системе Мадженто используйте следующую конструкцию:

Mage::getSingleton('customer/session')->isLoggedIn()  

 

Результат данного кода будет представлен в логическом булевом типе (истина – true или ложь – false). Его можно присвоить переменной и далее в коде использовать для проверки, или же делать проверку напрямую, без использования переменной.

Например, простейшая проверка может выглядеть так:

 

<?php    $customerLoggedIn = Mage::getSingleton('customer/session')->isLoggedIn();    if ($customerLoggedIn) {      echo "Пользователь залогинился в системе Мадженто";    } else {      echo "Пользователь не залогинился в системе Мадженто и представлен на сайте как Гость";    }  ?>  

 

Этот код можно использовать как в модуле, так и в PHTML файлах-шаблонах.

 

Если вам нужно больше информации о пользователе, тогда вы можете ее получить с использованием следующего кода:

 

$customerData = Mage::getSingleton('customer/session')->getCustomer();  var_dump($customerData);  

 

Надеемся, что вам пригодится на практике сегодняшний небольшой урок!