Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Проверка isLogged()


Recommended Posts

		$data['language'] = $this->load->controller('common/language');
		$data['currency'] = $this->load->controller('common/currency');
		$data['search'] = $this->load->controller('common/search');
		$data['cart'] = $this->load->controller('common/cart');
                if ($this->customer->isLogged()) {
                    $data['profile'] = $this->load->controller('account/profile');
                }
               else {
                    $data['autorisation'] = $this->load->controller('common/autorisation');
                }

Задача состоит в том, чтобы убирать кнопку входа и регистрации после входа пользователя и отображать профиль.

Все данные html от кнопок хранятся в <?php echo $autorisation; ?> 

Все данные html от профиля хранятся в  <?php echo $profile; ?> 

 

Задаю условие, что если пользователь авторезирован, то выводит одни данные, иначе другие.

Все работает, выводит все как нужно.

 

Проблема: после входа попадаем на нужную страницу, но при переходе, обновлении страницы или каком-то действии нас перекидывает на страничку входа. При повторном запросе к странице профиля(account) нас перенаправляет на страницу входа снова, говорит о том, что пользователя выбрасывает с сайта.

 

 

Подскажите, что я не так делаю?

 

Примечание: Если убрать все эти мои условия в файле header.php(задаю это условие там)  то пользователя не выбрасывает.

Змінено користувачем danya
Надіслати
Поділитися на інших сайтах


<?php if ($isLogged()) { ?>

<?php echo $profile; ?>

<?php } else { ?>

<?php echo $autorisation; ?>

<?php }?>

 

Если делать вот таким макаром, то результат тот же, но при входе иконки не меняются, при переходе на любую страничку опять выбрасывает. Хотя $isLogged = в контроллере этому: $data['isLogged'] = $this->customer->isLogged(); 

 


<?php if ($this->customer->isLogged()) { ?>

<?php echo $profile; ?>

<?php } else { ?>

<?php echo $autorisation; ?>

<?php }?>

 

Таким вообще не хочет открывать страницу.

Змінено користувачем danya
Надіслати
Поділитися на інших сайтах


че за...

if ($this->customer->isLogged()) {
                    $data['reg_code'] = $this->load->controller('account/profile');
                }
               else {
                    $data['reg_code'] = $this->load->controller('common/autorisation');
                }

а в шаблоне

<?php echo $reg_code; ?>

Надіслати
Поділитися на інших сайтах

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

 

Смотрите видео: http://www.youtube.com/watch?v=b82H_dEINgI&feature=youtu.be

Надіслати
Поділитися на інших сайтах


Кто-нибудь сможет объяснить, если я убираю весь этот код, который писал выше и вхожу в профиль итд. все работает

 

видео прилагается:

http://www.youtube.com/watch?v=Aod1qCXgy8o&feature=youtu.be

Надіслати
Поділитися на інших сайтах


Все делается на уровне шаблона, никаких выкрутасов быть не должно

Зачем вообще лезть в контроллер для отображения того или иного блока в зависимости от условия?

Надіслати
Поділитися на інших сайтах

Еще раз повторю..

Если default решение работает, а вше нет, то это значит, что вы что-то ломаете.

Надіслати
Поділитися на інших сайтах

Я не успеваю следить на видео, что вы там щелкаете и не хочу :) И качество видео - также оставляет желать лучшего.

Надіслати
Поділитися на інших сайтах

  • 6 years later...

Как показывать доп информацию для не залогиненых, а залогиненым не показывать 

 

Для 2.3 версии в файле контроллера изменить на это:

 

if ($this->customer->isLogged()) {
                $data['isLogged'] = true;
                $data['customer_name'] = $this->customer->getFirstName() . '&nbsp;' . $this->customer->getLastName();
            } else {
                $data['customer_name'] = '';
                $data['isLogged'] = false;
            }

 

В файле шаблона

 

 <?php if(!$isLogged) { ?><div class="text_unlogin"><a href="./login/"><i class="fa fa-percent" aria-hidden="true"></i> Текст вашей ссылки</a></div><?php } ?>

 

Змінено користувачем KFSE
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.