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

Удалить при поиске тире и точки и заменить их на пробелы


Recommended Posts

Версия ocStore 2.3.0.2.3

UniShop - Настройки шаблона v2.2.0.9

На сайте есть товары с артикулами

1) 555.1001111

2) 555-100222

Пользователь ищет например 555.100 и ему показывается только первый товар, а нужно чтобы и второй показывался,

то есть если вводить в поиск 555 100, то показываются оба товара.

Мне нужно менять точки и тире на пробел при вводе.

uni.thumb.jpg.b19b88d5216b1fa0ffbe668bf5bf7af9.jpg

 

1. Когда нажимаешь по кнопке Поиск

в файле \catalog\view\theme\unishop\template\product\search.tpl

перед (примерно 217 строка)

 

    if (search) {
        url += '&search=' + encodeURIComponent(search);
    }

втавил

    search = search.replace(/[()., -]/g, ' ');

С этим окей всё.

2. Остался живой или быстрый поиск, вот тут засада :huh:

    common.js править?

Спойлер

function uni_live_search(show_image, show_description, show_rating, show_price, show_limit, all_results, empty_results) {
	data_id = 'div_search';
	$('body').on('click', function() {$('.live-search').hide();});
	$('header .form-control.input-lg').attr('autocomplete', 'off')
	
	$('body').on('input click', 'header .form-control.input-lg', function() {
		data_id = $(this).parent().parent().attr('id');
		if(!$('.'+data_id).size()) {
			$(this).parent().after('<div id="live-search" class="live-search '+data_id+'"><ul></ul></div>');
		}	
		if ($(this).val().length >= 3) {
			$.ajax({
				url: 'index.php?route=unishop/search&filter_name='+$('#'+data_id+' input[name=\'search\']').val()+'&category_id='+$('#'+data_id+' input[name=\'filter_category_id\']').val(),
				dataType: 'json',
				beforeSend: function() {$('.'+data_id+' ul').html('<li style="text-align:center;"><i class="fa fa-spinner" aria-hidden="true"></i></li>');},
				complete: function() {$('.'+data_id+' ul').html();},
				success: function(result) {
					var products = result.products;
					$('.'+data_id+' ul li').remove();
					if (!$.isEmptyObject(products)) {								
						$(products).each(function(index, product) {
							html = '';
							html += '<li onclick="location=\''+product.url+'\'">';
							if (product.image && show_image) {html += '<div class="product-image"><img alt="'+product.name+'" src="'+product.image+'"></div>';}
							html += '<div class="product-name">'+product.name;
							if (show_description || show_rating) {
								html += '<p>';
								if (show_description) {html += '<span>'+product.description+'</span>';}
								if (show_rating) {
									html += '<span class="rating">';
									for(var i=1; i <= 5; i++) {
										if(product.rating < i) {
											html += '<i class="fa fa-star-o"></i>';
										} else {
											html += '<i class="fa fa-star"></i>';
										}
									}
									html += '</span>';
								}
								html += '</p>';
							}
							html += '</div>';
							if(show_price){
								if (product.special) {
									html += '<div class="product-price"><span class="special">'+product.price+'</span><span class="price">'+product.special+'</span></div>';
								} else {
									html += '<div class="product-price"><span class="price">'+product.price+'</span></div>';
								}
							}
							html += '</li>';
							$('.'+data_id+' ul').append(html);
						});
						if(parseFloat(show_limit) < parseFloat(result.products_total)) {
							var description = '';
							if(show_description) {
								var description = '&description=true';
							}
							$('.'+data_id+' ul').append('<li style="text-align:center;"><a href="index.php?route=product/search&search='+$('#'+data_id+' input[name=\'search\']').val()+''+description+'">'+all_results+' ('+result.products_total+')</a></li>');
						}
					} else {
						$('.'+data_id+' ul').html('<li style="text-align:center;padding:5px 0;">'+empty_results+'</li>');
					}
					$('.'+data_id).css('display', 'block');
				}
			});
		}
	});
}

 

 

 

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


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

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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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