Jump to content

Медленное изменение цены при выборе опций


Recommended Posts

Приветствую всех.

Проблема: у товаров много комбинаций  300-500. При выборе разных опций в карточке товара Цена очень долго меняется до 3 сек.

Какие есть варианты, чтобы ускорить смену цены при смене опций?

Link to comment
Share on other sites

 У тебя все грузится с Ajax -  поэтому и долго.

Я нашел "решение" , не знаю на сколько правильное, но у меня была такая-же проблема. Вот примерный алгоритм решения:

1. загружаем данные всех комбинаций при загрузке страницы, присваиваем display:none

2. Для комбинаций делаем блок дизайна в .tpl файле, но каждой из комбинаций присваиваем уникальный id (Например: id="{$product.id}_{$product.id_attribute}") и задаем класс для всех цен, например класс css price_modification

Пункт 2 делаем с помощью цикла foreach {} естественно

3.Делаем js функцию, типа

function changeAttributePrice(id,id_attr){
	var pricesToHide = document.getElementsByClassName("price_modification");
  	for(var i = 0; i < pricesToHide.length; i++){
      pricesToHide[i].style.display = "none"; 
  	}
   	document.getElementById(id+id_attr).style.display = "block";  //оставляем тот, который нужен                                 
}

4. В твоем списке комбинаций назначаем onclick функцию

(onclick="changeAttributePrice({$product.id}, {$product.id_attribute})")

для каждого droplist эл-та

В принципе вот и все, у тебя будет моментально меняться цена при нажатии

P.S нужно учитывать тот факт, что нужно будет с такой-же схемой переписать кнопку "Добавить в корзину" чтобы правильная комбинация добавлялась.

Edited by Amantha Bill (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...