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

Модуль "Фильтр по артикулу в админ панели v1.5.x"


Recommended Posts

Модуль "Фильтр по артикулу в админ панели v1.5.x"

 

post-714502-0-76843400-1476442997_thumb.png
 

ВНИМАНИЕ! ЕСЛИ ИСПОЛЬЗУЕТЕ ГОТОВЫЕ ФАЙЛЫ, СДЕЛАЙТЕ БЭКАП ЗАМЕНЯЕМЫХ ФАЙЛОВ!

 

Проверял на версии 1.5.5.1.1, для остальных версий будет делаться все наподобие.

 

1) Идем в файл admin/controller/catalog/product.php

 

 

После (примерно 34 строчка)

if (isset($this->request->get['filter_model'])) {
$filter_model = $this->request->get['filter_model'];
} else {
$filter_model = null;
}

Добавляем

if (isset($this->request->get['filter_sku'])) {
$filter_sku = $this->request->get['filter_sku'];
} else {
$filter_sku = null;
}

После (примерно 100 строчка)

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

Добавляем

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

После (примерно 132 строчка)

'filter_model'	  => $filter_model,

Добавляем

'filter_sku'	  => $filter_sku,

После(примерно 182 строчка)

'model'      	=> $result['model'],

Добавляем

'sku'      	    => $result['sku'],

После (примерно 232 строчка)

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_sku'])) {
$url .= '&filter_sku=' . urlencode(html_entity_decode($this->request->get['filter_sku'], ENT_QUOTES, 'UTF-8'));
}	

После (примерно 296 строчка)

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_sku'])) {
$url .= '&filter_sku=' . urlencode(html_entity_decode($this->request->get['filter_sku'], ENT_QUOTES, 'UTF-8'));
}

После (примерно 362 строчка)

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_sku'])) {
$url .= '&filter_sku=' . urlencode(html_entity_decode($this->request->get['filter_sku'], ENT_QUOTES, 'UTF-8'));
}

После (примерно 428 строчка)

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_sku'])) {
$url .= '&filter_sku=' . urlencode(html_entity_decode($this->request->get['filter_sku'], ENT_QUOTES, 'UTF-8'));
}

После (примерно 483 строчка)

if (isset($this->request->get['filter_model'])) {
$filter_model = $this->request->get['filter_model'];
} else {
$filter_model = null;
}

Добавляем

if (isset($this->request->get['filter_sku'])) {
$filter_sku = $this->request->get['filter_sku'];
} else {
$filter_sku = null;
}	

После (примерно 549 строчка)

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

Добавляем

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

После (примерно 605 строчка)

'filter_model'	  => $filter_model,

Добавляем

'filter_sku'	  => $filter_sku,

После (примерно 653 строчка)

'model'      => $result['model'],

Добавляем

'sku'        => $result['sku'], 

После (примерно 677 строчка)

$this->data['column_model'] = $this->language->get('column_model');	

Добавляем

$this->data['column_sku'] = $this->language->get('column_sku');	

После (примерно 719 строчка)

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

Добавляем

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

После (примерно 750 строка)

$this->data['sort_model'] = $this->url->link('catalog/product', 'token=' . $this->session->data['token'] . '&sort=p.model' . $url, 'SSL');

Добавляем

$this->data['sort_sku'] = $this->url->link('catalog/product', 'token=' . $this->session->data['token'] . '&sort=p.sku' . $url, 'SSL');

После (примерно 771 строка)

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

Добавляем

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

После (примерно 811 строка)

$this->data['filter_model'] = $filter_model;

Добавляем

$this->data['filter_sku'] = $filter_sku;

После (примерно 986 строка)

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_sku'])) {
$url .= '&filter_sku=' . urlencode(html_entity_decode($this->request->get['filter_sku'], ENT_QUOTES, 'UTF-8'));
}

2) Идем в файл admin/model/catalog/product.php

 

После (примерно 365 строчка)

if (!empty($data['filter_model'])) {
$sql .= " AND LCASE(p.model) LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_model'])) . "%'";
}

Добавляем

if (!empty($data['filter_sku'])) {
$sql .= " AND LCASE(p.sku) LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_sku'])) . "%'";
}

После (примерно 413 строчка)

'p.model',

Добавляем

'p.sku',

После (примерно 677 строчка)

if (!empty($data['filter_model'])) {
$sql .= " AND LCASE(p.model) LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_model'])) . "%'";
}

Добавляем

if (!empty($data['filter_sku'])) {
$sql .= " AND LCASE(p.sku) LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_sku'])) . "%'";
}

3) Идем в файл admin/view/template/catalog/product_list.tpl

 

После (примерно 40 строчка)

<td class="left"><?php if ($sort == 'p.model') { ?>
<a href="<?php echo $sort_model; ?>" class="<?php echo strtolower($order); ?>"><?php echo $column_model; ?></a>
<?php } else { ?>
<a href="<?php echo $sort_model; ?>"><?php echo $column_model; ?></a>
<?php } ?></td>

Добавляем

<td class="left"><?php if ($sort == 'p.sku') { ?>
<a href="<?php echo $sort_sku; ?>" class="<?php echo strtolower($order); ?>"><?php echo $column_sku; ?></a>
<?php } else { ?>
<a href="<?php echo $sort_sku; ?>">Артикул</a>
<?php } ?></td> 

После (примерно 90 строчка)

<td><input type="text" name="filter_model" value="<?php echo $filter_model; ?>" /></td>

Добавляем

<td><input type="text" name="filter_sku" value="<?php echo $filter_sku; ?>" /></td>

После (примерно 122 строчка)

<td class="left"><?php echo $product['model']; ?></td>

Добавляем

<td class="left"><?php echo $product['sku']; ?></td>

После (примерно 164 строка)

<td class="left">${model}</td>

Добавляем

<td class="left">${sku}</td>

После (примерно 212 строчка)

var filter_model = $('input[name=\'filter_model\']').attr('value');
	
if (filter_model) {
url += '&filter_model=' + encodeURIComponent(filter_model);
}

Добавляем

var filter_sku = $('input[name=\'filter_sku\']').attr('value');
	
if (filter_sku) {
url += '&filter_sku=' + encodeURIComponent(filter_sku);
}	

В самом конце файла перед 

//--></script> 
<?php echo $footer; ?>

Добавляем

$('input[name=\'filter_sku\']').autocomplete({
	delay: 0,
	source: function(request, response) {
		$.ajax({
			url: 'index.php?route=catalog/product/autocomplete&token=<?php echo $token; ?>&filter_sku=' +  encodeURIComponent(request.term),
			dataType: 'json',
			success: function(json) {		
				response($.map(json, function(item) {
					return {
						label: item.sku,
						value: item.product_id
					}
				}));
			}
		});
	}, 
	select: function(event, ui) {
		$('input[name=\'filter_sku\']').val(ui.item.label);
						
		return false;
	}
});

На этом все, фильтр по артикулу готов и работает, будьте внимательны при редактировании файлов и все получится!

 

Для ленивых выкладываю уже отредактированные файлы версии движка 1.5.5.1.1(при копировании заменятся родные файлы движка, делайте бекапы!) модуль sku.zip

post-714502-0-76843400-1476442997_thumb.png

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

  • 2 years later...
  • 1 year later...

Спасибо за ваш большой труд! Всё работает, за исключением AUTOCOMPLETE в конце файла шаблона (пунктк 3 инструкции) , скрипт сам работает, но данные не подгружаются, подгружает простые скобки [].  В чем может быть причина?

 

И ещё вопрос. Как сделать вывод Производителя и Категорий как у вас на скриншоте?

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


  • 2 weeks later...

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

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

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

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

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

Вхід

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

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

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

Important Information

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