Досить часто при роботі з модулями в Мадженто виникає завдання визначити, чи увійшов користувач в систему (залогінився) чи ні. Тобто, визначати користувача як авторизованого, або як гостя. Наприклад, потім цю інформацію можна буде використовувати, щоб давати залогіненим користувачам доступ до додаткового функціоналу в інтернет-магазині або ж перенаправляти на певну сторінку на сайті (наприклад, сторінку входу чи реєстрації).
Отримати інформацію про вхід в систему Мадженто можна досить просто, використовуючи дані сесії користувача. Для цього ми будемо використовувати єдиний екземпляр класу (тобто, 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);
Сподіваємося, що сьогоднішній невеликий урок стане вам в нагоді у практиці!
WordPress роками був неперевершеним "монолітом": він відповідав і за зручну адмін-панель, і за збереження даних,…
У світі веб-серверів часто говорять про протистояння Nginx vs Apache. Але що, якби я сказав…
Коли я починав свій шлях у веб-розробці, питання "який веб-сервер використовувати?" практично не стояло. Відповідь…
Коли мова заходить про веб-сервери, два імені завжди на слуху: Apache та Nginx. Apache —…
У світі веб-розробки ми постійно стикаємося з проблемою: "А в мене на комп'ютері все працює!".…
На зорі моєї кар'єри веб-розробника все було відносно просто: встановив локальний сервер (пам'ятаєте Denwer?), поклав…