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

Как проверить, что пользователь залогинился в 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);

 

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



 



Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *