Перейти к содержанию
sergei5770

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

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

Модуль "Фильтр по артикулу в админ панели 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

Поделиться сообщением


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

Артикул в опциях тоже ищет ?

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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