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

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


WellChuck

Recommended Posts

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

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

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

 

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

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

 

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

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


  • 1 month later...
В 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

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


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 користувачів

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

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

Important Information

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