Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Смена группы покупателя


WellChuck
 Поделиться

Рекомендованные сообщения

4 часа назад, krumax сказал:

Давайте дальше сами, я Вам почти всё дал по коду, темболее, что вот сейчас уже нужно смотреть на самом сайте, что передаются в post запросе Ajax.

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

 

Всё работает, никаких проблем.

Как всегда... просто надо головой думать, когда код правишь.

 

Ещё раз благодарю! :-o

Ссылка на комментарий
Поделиться на других сайтах


  • 1 месяц спустя...
В 13.06.2018 в 21:16, WellChuck сказал:

 

Всё работает, никаких проблем.

Как всегда... просто надо головой думать, когда код правишь.

 

 Ещё раз благодарю! :-o

Здравствуйте!

А можете решение полностью выложить, а то я что-то растерялся во всем этом?

Спасибо!

Ссылка на комментарий
Поделиться на других сайтах

В 16.07.2018 в 20:11, max1985 сказал:

Здравствуйте!

А можете решение полностью выложить, а то я что-то растерялся во всем этом?

Спасибо!

 

В header.tpl

<?php if ($customer_group_id == 1) { ?>
	<form class="form-horizontal">
		<select name="customer_group_id" id="input-customer-group" class="form-control">
			<?php foreach ($customer_groups as $customer_group) { ?>
			<?php if ($customer_group['customer_group_id'] == $customer_group_id) { ?>
			<option value="<?php echo $customer_group['customer_group_id']; ?>" selected="selected"><?php echo $customer_group['name']; ?></option>
			<?php } else { ?>
			<option value="<?php echo $customer_group['customer_group_id']; ?>"><?php echo $customer_group['name']; ?></option>
			<?php } ?>
			<?php } ?>
		</select>
	</form>
<?php } ?>
<script>
$('#input-customer-group').change(function() {
	var id_groupe = $("#input-customer-group").val();
	$.ajax({
		url: 'index.php?route=account/account/changeGroupe',

		type: 'post',

		data: 'id_groupe=' + id_groupe,

		dataType: 'json',

		success: function(json) {

			if (json['success']) {
				location.reload();
			}

		}

	});
});
</script>

 

В controller/account/account.php

 

public function changeGroupe() {

	if(isset($this->request->post)) {

		$customer_group_id = $this->request->post['id_groupe'];

		$this->load->model('account/customer_group');
		$this->load->model('account/customer');

		$this->model_account_customer->editCustomerGroup($customer_group_id);

		$json['success'] = true;
	}

	$this->response->addHeader('Content-Type: application/json');
	$this->response->setOutput(json_encode($json));

}

 

Ссылка на комментарий
Поделиться на других сайтах


model/account/customer.php

public function editCustomerGroup($customer_group_id) {
		$customer_id = $this->customer->getId();
		
		$this->db->query("UPDATE " . DB_PREFIX . "customer SET customer_group_id = '" . $this->db->escape($customer_group_id) . "' WHERE customer_id = '" . (int)$customer_id . "'");
}

 

Ссылка на комментарий
Поделиться на других сайтах


@max1985 при вызове метода editCustomerGroup вы должны передать идентификатор группы customer_group_id

Ссылка на комментарий
Поделиться на других сайтах


14 минут назад, max1985 сказал:

Все равно выдает Notice: Undefined variable: customer_group_id

Что ему не хватает

Так просто уберите <?php if ($customer_group_id  == 1) { ?> из html

Ссылка на комментарий
Поделиться на других сайтах


40 минут назад, WellChuck сказал:

Так просто уберите <?php if ($customer_group_id  == 1) { ?> из html

появился селект, но в нем пусто

видимо в контроллере Хедера надо прописывать $customer_group_id

Ссылка на комментарий
Поделиться на других сайтах

2 часа назад, max1985 сказал:

появился селект, но в нем пусто

видимо в контроллере Хедера надо прописывать $customer_group_id

 

в контроллере

$data['customer_group_id'] = $this->config->get('config_customer_group_id');

$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'))) {
		$data['customer_groups'][] = $customer_group;
	}
}

 

 

Ссылка на комментарий
Поделиться на других сайтах


2 часа назад, WellChuck сказал:

 

в контроллере


$data['customer_group_id'] = $this->config->get('config_customer_group_id');

$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'))) {
		$data['customer_groups'][] = $customer_group;
	}
}

 

 

После вставки этого кода начинает выдавать ошибку 500. Совсем уже запутался. 

Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.