
Як перевірити, що користувач залогінився в 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);
Сподіваємося, що сьогоднішній невеликий урок стане вам в нагоді у практиці!