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

[Решено] Как вывести имя группы, в которой зарегистрирован пользователь?


Recommended Posts

Добрый день!

 

при регистрации пользователь выбирает группу, которая определяет цену.

 

на страничке регистрации имя группы отображается с помощью кода

<?php echo $customer_group['name']; ?>

вот теперь хочется на других страницах сайта тоже вывести имя группы, пишу этот код в нужную старницу в шаблоне *.tpl но вылазит ошибка

Undefined variable: customer_group in

 

вроде надо из контроллера взять эту информацию?

 

попробовал этот код взять

		$this->data['customer_groups'] = array();
		
		if (is_array($this->config->get('config_customer_group_display'))) {
			$customer_groups = $this->model_account_customer_group->getCustomerGroups();
			
			foreach ($customer_groups as $customer_group) {
				if (in_array($customer_group['customer_group_id'], $this->config->get('config_customer_group_display'))) {
					$this->data['customer_groups'][] = $customer_group;
				}
			}
		}

но в этом случае вообще страница перестала что-либо показывать.

 

Подскажите, пожалуйста, как добыть эту переменную  $customer_group['name'] из базы?

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


= = system/library/customer.php

ищем

private $customer_group_id;

дальше вставляем

private $customer_group_name;

дальше за

if ($customer_query->num_rows) {

вставляем

$customer_name_query = $this->db->query("SELECT name FROM " . DB_PREFIX . "customer_group_description WHERE customer_group_id = '" . (int)$customer_query->row['customer_group_id'] . "'");
            $this->customer_group_name = $customer_name_query->row['name'];

за этим

$this->customer_group_id = '';

вот это

$this->customer_group_name = '';

и после

public function getCustomerGroupId() {
      return $this->customer_group_id;   
     }

вот это

public function getCustomerGroupName() {
      return $this->customer_group_name;   
     }

теперь в = = catalog/controller/common/header.php

ищем

$this->data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', 'SSL'), $this->customer->getFirstName(), $this->url->link('account/logout', '', 'SSL'));

и заменяем на

$cust_name = $this->customer->getFirstName();
      $cust_group_id = $this->customer->getCustomerGroupName();
      $concat_info = $cust_name. "," . "Ваша группа: ".$cust_group_id.",";
      $this->data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', 'SSL'), $concat_info, $this->url->link('account/logout', '', 'SSL'));
Надіслати
Поділитися на інших сайтах

 

 

теперь в = = catalog/controller/common/header.php

ищем

$this->data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', 'SSL'), $this->customer->getFirstName(), $this->url->link('account/logout', '', 'SSL'));

и заменяем на

$cust_name = $this->customer->getFirstName();
      $cust_group_id = $this->customer->getCustomerGroupName();
      $concat_info = $cust_name. "," . "Ваша группа: ".$cust_group_id.",";
      $this->data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', 'SSL'), $concat_info, $this->url->link('account/logout', '', 'SSL'));

 

 

 

 

вот после этого ничего не происходит.

точнее, если заменить строки, то сайт перестаёт отображаться, а если добавить после, то вроде работает, но ничего нового не показывает.

 

попробовал 

<?php echo $cust_group_id ?>

и

<?php echo $cust_name ?>

так же ругается на неизвестные переменные

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


вот после этого ничего не происходит.

точнее, если заменить строки, то сайт перестаёт отображаться, а если добавить после, то вроде работает, но ничего нового не показывает.

 

 

вру-вру-вру

 

оказывается в контроллере на комментирии вида <!-- --> ругается

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


да, там желательно // использовать

 

ага, с этим уже разобрался. спасибо!

 

только вот как теперь эти переменные использовать

всё равно ругается на такой код

<?php echo $concat_info ?> 
Надіслати
Поділитися на інших сайтах


В хедере должно выводить по приведенному мной примеру. Если где-то в теле страницы хотите выводить, добавляйте в соответствующий контроллер.

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

В хедере должно выводить по приведенному мной примеру. Если где-то в теле страницы хотите выводить, добавляйте в соответствующий контроллер.

 

вот этот момент я что-то совсем не понял.

мы ведь в контроллере правили, а то, что выводится я редактирую в шаблоне ведь... или через контроллер тоже можно выводить?

как тогда указывать в каком именно месте в хедере будет эта строчка?

 

у меня шаблон palioxis, может из-за этого, но никаких изменений в хедере не произошло. :(

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


нашел в хедере строчки нужные. оказывается я из закомментировал до этого

 

теперь у меня показывает так:

Вы вошли как Вася, Ваша группа: ( Выйти )

 

 

т.е. имя группы не получилось показать

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


Всё сделал! Спасибо Большое!

 

Пропустил вот этот код:

 

 

= = system/library/customer.php


дальше за

if ($customer_query->num_rows) {

вставляем

$customer_name_query = $this->db->query("SELECT name FROM " . DB_PREFIX . "customer_group_description WHERE customer_group_id = '" . (int)$customer_query->row['customer_group_id'] . "'");
            $this->customer_group_name = $customer_name_query->row['name'];

 

 

 

:eek:

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


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

я правлю в шаблоне /common/header.tpl

 

добавляю

 

<?php
    $cust_group_id = $this->customer->getCustomerGroupName();
        echo $cust_group_id;
?>
 

 

тогда, если пользователь залогинен, то пишется название его группы, а вот как сделать, если пользователь не залогинился еще. надо написать название группы по умолчанию.

 

это ведь надо в коде из предыдущего сообщения как-то прописать, else?

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


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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