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

Кнопка сброса количества товаров в админке по фильтру


Recommended Posts

Добрый день всем!

Понадобился небольшой функционал в админке в списке товаров, а именно добавить кнопку удаления количества товаров по фильтру (групповая обработка).
Ни как не получается.
Что сделал:
файл admin/model/catalog/product.php добавил фнкцию

 public function upnullProduct($product_id) {
		$this->db->query("UPDATE" . DB_PREFIX . "product SET quantity = 0 WHERE product_id = '" . (int)$product_id . "'");		
	}

файл admin/controller/catalog/product.php  добавил следующий код

public function upnull() {
		$this->language->load('catalog/product');

		$this->document->setTitle($this->language->get('heading_title'));

		$this->load->model('catalog/product');

		if (isset($this->request->post['selected']) && $this->validateUpnull()) {
			foreach ($this->request->post['selected'] as $product_id) {
				$this->model_catalog_product->upnullProduct($product_id);
			}

			$this->session->data['success'] = $this->language->get('text_success');

			$url = '';

			if (isset($this->request->get['filter_name'])) {
				$url .= '&filter_name=' . urlencode(html_entity_decode($this->request->get['filter_name'], ENT_QUOTES, 'UTF-8'));
			}

			if (isset($this->request->get['filter_model'])) {
				$url .= '&filter_model=' . urlencode(html_entity_decode($this->request->get['filter_model'], ENT_QUOTES, 'UTF-8'));
			}

			if (isset($this->request->get['filter_price'])) {
				$url .= '&filter_price=' . $this->request->get['filter_price'];
			}

			if (isset($this->request->get['filter_quantity'])) {
				$url .= '&filter_quantity=' . $this->request->get['filter_quantity'];
			}

      if (isset($this->request->get['filter_category'])) {
        $url .= '&filter_category=' . $this->request->get['filter_category'];
      }

			if (isset($this->request->get['filter_status'])) {
				$url .= '&filter_status=' . $this->request->get['filter_status'];
			}

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

			if (isset($this->request->get['page'])) {
				$url .= '&page=' . $this->request->get['page'];
			}

			$this->response->redirect($this->url->link('catalog/product', 'token=' . $this->session->data['token'] . $url, 'SSL'));
		}

		$this->getList();
	}

и ниже

$data['copy'] = $this->url->link('catalog/product/copy', 'token=' . $this->session->data['token'] . $url, 'SSL');
$data['delete'] = $this->url->link('catalog/product/delete', 'token=' . $this->session->data['token'] . $url, 'SSL');
$data['upnull'] = $this->url->link('catalog/product/upnull', 'token=' . $this->session->data['token'] . $url, 'SSL');

В шаблон вставил

<button type="button" data-toggle="tooltip" title="На 0" class="btn btn-danger" onclick="$('#form-product').attr('action', '<?php echo $upnull; ?>').submit()"><i class="fa fa-copy"></i></button>

При клике на кнопку - Список товаров обновлен!  и ничего не меняется, где еще надо править код ?
заранее спасибо

 



 

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


А что показывает отладчик в браузере? Запрос на сервер уходит?

Висит в ошибках строка

http://localhost/ps/admin/index.php?route=catalog/product/upnull&token=AxVKfYnIQHPtDLroVSxD9zJK2LQLuT5I
Змінено користувачем andrsin
Надіслати
Поділитися на інших сайтах


какая ошибка? 500?

что в логах сервера?

2016-10-18 10:27:00 - PHP Notice:  Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATEocsp_product SET quantity = 0 WHERE product_id = '47'' at line 1<br />Error No: 1064<br />UPDATEocsp_product SET quantity = 0 WHERE product_id = '47' in C:\xampp\htdocs\ps\system\library\db\mysqli.php on line 41

Разобрался, спасибо за поддержку! UPDATEocsp_product  напиcал без пробела. В этот журнал и не заглядывал, думал что Список товаров обновлен! - зелененькая надпись говорит Все хорошо.

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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