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

 

Сподіваємося, що сьогоднішній невеликий урок стане вам в нагоді у практиці!