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

[Решено] Разные представления личного кабинета для групп пользователей


Rev777

Recommended Posts

Доброго времени суток, ув. сообщество.
Кто-то задавался вопросом по поводу того, как можно реализовать подгрузку разных внешне и функционально личных кабинетов для определенных групп пользователей?
В поиске натыкался только на так называемые "торговые площадки", но по-моему там немного не так все как необходимо. (или я не понял...все как задумывали их авторы).
К примеру: есть покупатель, и есть "вип клиент".
Охота показывать покупателю один файл *.tpl(внешний вид), где все стандартно. "Випу" - естественно другой вид, с изменениями в стилях и некоторыми своими "прикрутками".

Я возможно не правильно гуглил, и шатался по форуму. Понимаю, что концепция реализации возможно существует.
Пока сам придумал ставить в дирректорию/домен ниже уровнем еще один магазин, и регистрировать пользователей с разных форм.

Если у Вас есть соображения по этому поводу/есть куда ткнуть в поиске - подскажите пожалуйста.

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


первое что пришло в голову .tpl`ка одна:

 

<?php if ($customer_group_id == меняем на номер id_группы) { ?>

контент

<?php } ?>

хммм...я вообще не думал про такое(

идея. мне стоит попробовать.

спасибо за Ваш ответ, постараюсь отписаться о том, что вышло...

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


Я пытаюсь вытащить значение через:
    if ($this->customer->isLogged()) {
            $customer_group_id = $this->customer->getCustomerGroupId();
        } else {
            $customer_group_id = $this->config->get('config_customer_group_id');
        }

Добавляю его в контроллер страницы account, но все-равно ругается (Undefined property: Loader::$customer in ........).
Подскажите пожалуйста, как правильно объявить $customer_group_id, чтобы получать из него значения?

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


контроллер:

if ($this->customer->isLogged()) {
        $this->data['customer_group_id'] = $this->customer->getCustomerGroupId();
} else {
        $this->data['customer_group_id'] = $this->config->get('config_customer_group_id');
}
шаблон:

<?php if ($customer_group_id == 1) { ?>
        контент
<?php } ?>
Надіслати
Поділитися на інших сайтах

контроллер:

.........

Спасибо за ответ, все получилось.

Теперь можно подсовывать разное представление группам покупателей.

Отписал Вам еще в лс.

Для тех, кто делает подобное в Opencart 2.0 ... - обращайте внимание на назначение переменных шаблона:

 

К примеру вместо:
$this->data['foo'] = $foo;
 
Нужно:
$data['foo'] = $foo;

Спасибо всем, кто ответил!)

Думаю тему можно закрывать.

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


  • 3 years later...

Всем доброго дня , подскажите пожалуйста , на 2.3.02 не хочет запускаться , ругается и пишет ( Parse error: syntax error, unexpected) - когда в контроллер вставляю это 
 

if ($this->customer->isLogged()) {
        $this->data['customer_group_id'] = $this->customer->getCustomerGroupId();
} else {
        $this->data['customer_group_id'] = $this->config->get('config_customer_group_id');
}

   

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


26 минут назад, spectre сказал:

в 2.3 чуть другие методы и используется не $this->data а $data


Изменил вот так и заработало )

$data['customer_group_id'] = $this->customer->isLogged() ? (int)$this->customer->getGroupId() : $this->config->get('config_customer_group_id');


Спасибо .

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


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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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