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

 

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

 

Recent Posts

WordPress як Headless CMS 🧠 | практично з REST API

WordPress роками був неперевершеним "монолітом": він відповідав і за зручну адмін-панель, і за збереження даних,…

4 дні ago

Тандем Nginx + Apache 🤝 Як поєднати швидкість та гнучкість

У світі веб-серверів часто говорять про протистояння Nginx vs Apache. Але що, якби я сказав…

5 днів ago

Що таке Apache HTTP Server: 📜 Надійний ветеран веб-серверів

Коли я починав свій шлях у веб-розробці, питання "який веб-сервер використовувати?" практично не стояло. Відповідь…

6 днів ago

Що таке Nginx: чому він швидший за Apache? 🚀 | Інструкція + Конфіги

Коли мова заходить про веб-сервери, два імені завжди на слуху: Apache та Nginx. Apache —…

7 днів ago

Знайомство з Docker для веб-розробника 🐳 | Встановлення та основи

У світі веб-розробки ми постійно стикаємося з проблемою: "А в мене на комп'ютері все працює!".…

1 тиждень ago

Навіщо веб-розробнику віртуальна машина (VM) 🖥️

На зорі моєї кар'єри веб-розробника все було відносно просто: встановив локальний сервер (пам'ятаєте Denwer?), поклав…

1 тиждень ago