shtuzers Posted May 6, 2020 Share Posted May 6, 2020 Приветствую всех. Проблема: у товаров много комбинаций 300-500. При выборе разных опций в карточке товара Цена очень долго меняется до 3 сек. Какие есть варианты, чтобы ускорить смену цены при смене опций? Link to comment Share on other sites More sharing options...
Chill_user Posted May 12, 2020 Share Posted May 12, 2020 (edited) У тебя все грузится с 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 May 12, 2020 by Amantha Bill (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now