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

Показывать ссылку только нужной группе


Jestik

Recommended Posts

Доброго времени суток, суть проблемы в том, что нужно в верхнем меню пользователя вывести ссылку доступную только для одной группы пользователей, пытаюсь сделать так:
 

<?php 
if ($this->customer->isLogged() && $this->customer->getGroupId() == "2") {
  echo 'link';
}
?>

но ругается на 67 строку

Notice: Undefined property: Template\PHP::$customer in 

и

Fatal error: Call to a member function isLogged() on null in 

в ней:

if ($this->customer->isLogged() && $this->customer->getGroupId() == "2") {

 

Спасибо!

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


вставлять проверку нужно в контроллер

$data['link'] = '';
if ($this->customer->isLogged() && $this->customer->getGroupId() == 2) {
  $data['link'] = 'ваша ссылка';
}

в самом шаблоне
 

<?php if ($link) { ?>
  <a href="<?php echo $link; ?>">текст ссылке</a>
<?php } ?>


сами методы верные, можете посмотреть в библиотеке \system\library\cart\customer.php

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


То есть, я например в файле шаблона личного кабинета, не смогу прописав условие скрыть ссылку для группы с id=2 ?

 

Спасибо! Сейчас буду пробовать!

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


1 минуту назад, Jestik сказал:

Все работает! Спасибо большое! Скиньте платежные данные, перешлю за помощь на пиво или сок) 

на здоровье!)

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


  • 1 year later...
В 01.02.2017 в 20:51, thentru сказал:

вставлять проверку нужно в контроллер


$data['link'] = '';
if ($this->customer->isLogged() && $this->customer->getGroupId() == 2) {
  $data['link'] = 'ваша ссылка';
}

в самом шаблоне
 


<?php if ($link) { ?>
  <a href="<?php echo $link; ?>">текст ссылке</a>
<?php } ?>


сами методы верные, можете посмотреть в библиотеке \system\library\cart\customer.php

распишите подробнее, пожалуйста...

Тот же вопрос...

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


В 01.02.2017 в 20:51, thentru сказал:

вставлять проверку нужно в контроллер


$data['link'] = '';
if ($this->customer->isLogged() && $this->customer->getGroupId() == 2) {
  $data['link'] = 'ваша ссылка';
}

в самом шаблоне
 


<?php if ($link) { ?>
  <a href="<?php echo $link; ?>">текст ссылке</a>
<?php } ?>


сами методы верные, можете посмотреть в библиотеке \system\library\cart\customer.php

распишите подробнее, пожалуйста...

Тот же вопрос...

 

 

Нужно было,  что бы на конкр. страницу пускало после авторизации или регистрации.

Решил вопрос так:

добавил в /catalog/controller/common/ после строчки $data['title'] = $this->document->getTitle(); след. код

 

if($_SERVER['REQUEST_URI'] == "ваша ссылка на нужную страницу"){
    if (!$this->customer->isLogged() ) {
       if (!isset($this->request->get['route']) || $this->request->get['route'] != 'account/login' && $this->request->get['route'] != 'account/register' ) {
         $this->response->redirect($this->url->link('account/login', '', true));
       }
    }
}
 

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


  • 1 year later...
В 17.11.2018 в 21:48, jaroknik сказал:

 

Решил вопрос так:

 

В контроллерах catalog/controller/account есть строки 

if (!$this->customer->isLogged()) {
            $this->session->data['redirect'] = $this->url->link('account/itemlist', '', 'SSL');

            $this->redirect($this->url->link('account/login', '', 'SSL'));
        }
И хорошо работают. Или это не то?

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


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

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

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

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

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

Вхід

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

Вхід зараз

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

Important Information

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