Перейти к содержимому


Фото
- - - - -

AJAX пагинация и сортировка по цене вешают базу

ajax pagination пагинация сортировка цена

  • Чтобы отвечать, сперва войдите на форум
15 ответов в теме

#1 Just074

Just074
  • Пользователь
  • 38 сообщений
  • Программирование, Верстка, Заказчик

Опубликовано 08.06.2017 - 14:43

Доброго дня, подскажите кто знает по готовому решению "AJAX фильтрация, пагинация", тема к сожалению закрыта, потому не могу задать вопрос там.

В общем почему-то AJAX вешает базу, если сделать сортировку  по цене, без AJAX все отлично. В базе около 60 000 наименований



#2 Maksclub

Maksclub

    Помогаю с Симплой и c PHP

  • Фрилансер
  • 1 388 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 08.06.2017 - 16:02

На стандартном шаблоне также вешает?

Доработки были?



#3 Just074

Just074
  • Пользователь
  • 38 сообщений
  • Программирование, Верстка, Заказчик

Опубликовано 13.06.2017 - 17:16

На стандартном шаблоне также вешает?

Доработки были?

 

Доработки конечно были, но на стандартном шаблоне тоже самое.

Поэкспериментировав, понял, что проявляется только в категориях с большим кол-вом товара.

В общей сложности в базе более 60,000 товаров, думаю причина в том, что запрос сортировки по цене "слишком тяжелый", никто не оптимизировал случайно? Правда странность в том, что при отключении AJAX, страница относительно быстро генерится и проблем не возникает.

 

Как это вообще отдебажить?



#4 Just074

Just074
  • Пользователь
  • 38 сообщений
  • Программирование, Верстка, Заказчик

Опубликовано 20.06.2017 - 14:49

Неужели только я столкнулся с этой проблемой? Интересно еще то, что если AJAX отключать, то нормально сортируется, но как это может быть связано? Запрос же в базу от этого не меняется.

 

Подскажите куда копать хотя бы пжл

 

 

И еще вопрос по теме AJAX фильтрации\пагинации, весь JS код выглядит вот так:

 

$("#brands a, #features a, #pagination ul li span a, .aside-nav ul li a, .aside-nav li>a, .info-product a, .brands-list li a, a.item_link, table#compare a, .bs_del a, a.ready_compare").live('click', function(){

        var state = {
            title: $(this).attr("title"),
            url: $(this).attr("href")
        }
        history.pushState( state, state.title, state.url );

        // при нажатии back/forward в браузере
        window.onpopstate = function(e){
            get_pagination(this);
            return false;
        }

        get_pagination(this);
        return false;

    });

function get_pagination(href){
	var get_link = $(href).attr('href');
	$('.content').css('opacity', 0.5);
	$.get(get_link, function(data){
		var scroll = $('.content').html(data).css('opacity', 1).offset().top;
		$('html, body').stop().animate({scrollLeft: 0, scrollTop:(scroll-200)}, 500);
	})
	.fail(function() {
		location = get_link;
	});
}

 

 

Проблема в следующем, после подгрузки, страница скролится на самый верх, а я бы хотел чтобы скроллилось до шапки, до верхнего края блока <div class="content">

 

Я большую часть жизни занимался исключительно backend-ом, в JS есть пробелы, я так понимаю за скролл отвечает следующий участок кода:

 

$.get(get_link, function(data){
		var scroll = $('.content').html(data).css('opacity', 1).offset().top;
		$('html, body').stop().animate({scrollLeft: 0, scrollTop:(scroll-200)}, 500);
	})

 

Что нужно изменить чтобы скроллилость не на самый верх страница, а до верхнего края нужного дива ?



#5 ЯкЦинДрак

ЯкЦинДрак
  • Пользователь
  • 88 сообщений
  • Программирование
  • Откуда:Russia

Опубликовано 20.06.2017 - 15:49

Неужели только я столкнулся с этой проблемой?

 

Видимо, так, раз другие интереса не выказывают.

 

Интересно еще то, что если AJAX отключать, то нормально сортируется, но как это может быть связано? Запрос же в базу от этого не меняется.

 

Очень даже может быть связано.
Меняется запрос или нет - зависит от того, как реализовано. Может статься, еще как меняется.

 

Подскажите куда копать хотя бы пжл

 

Прежде всего отслеживать запросы точно и полностью - тексты запросов, замер времени работы и прочее. И заодно все прочее проверять в плане быстродействия.



#6 Just074

Just074
  • Пользователь
  • 38 сообщений
  • Программирование, Верстка, Заказчик

Опубликовано 20.06.2017 - 16:23

ЯкЦинДрак

Спасибо конечно, но это больше похоже на ответ ради ответа, без даже попытки вникнуть в суть проблемы т.к. абсолютно ничего полезного я для себя не выявил, а о том что нужно делать замеры, известно любому разработчику. Повторюсь, запрос не меняется, но тем не менее при включенном AJAXе базу вешает, при выключенном - все ок. 



#7 Kosjak76

Kosjak76
  • Модератор
  • 3 767 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 20.06.2017 - 16:25

Да это же очередной акк Корса :)

Он никогда ничего толкового бесплатно не скажет...

Одни понты)



#8 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 6 691 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 20.06.2017 - 16:41

Да это же очередной акк Корса :)
Он никогда ничего толкового бесплатно не скажет...
Одни понты)

А как же Kors2? Бедный корс :D

#9 ЯкЦинДрак

ЯкЦинДрак
  • Пользователь
  • 88 сообщений
  • Программирование
  • Откуда:Russia

Опубликовано 20.06.2017 - 17:11

ЯкЦинДрак
Спасибо конечно, но это больше похоже на ответ ради ответа, без даже попытки вникнуть в суть проблемы т.к. абсолютно ничего полезного я для себя не выявил, а о том что нужно делать замеры, известно любому разработчику.

 
А как можно предпринять попытку вникнуть, если Вы не сообщаете практически НИЧЕГО о проблеме, кроме ее существования?
Вам известно, что нужно делать замеры. Вы их делали? Если да, собщайте  о результатах.
Если б Вы хоть URL дали, то хоть какой-то проблеск был бы. 
А пока что почини мне то, не скажу что...

ЯкЦинДрак
Повторюсь, запрос не меняется, но тем не менее при включенном AJAXе базу вешает, при выключенном - все ок.

Какой запрос, при каких действиях, где? Хоть капельку чего-то сообщить бы конкретно...

Изменено: ЯкЦинДрак, 20.06.2017 - 17:15


#10 Just074

Just074
  • Пользователь
  • 38 сообщений
  • Программирование, Верстка, Заказчик

Опубликовано 20.06.2017 - 17:15

ЯкЦинДрак, Т.е. описание проблемы, ссылка на "модуль", сценарий использования и исходный код это ничего? МАРИХУАНА СУШИТ МОЗГИ - ОПОМНИСЬ! :D


Изменено: Just074, 20.06.2017 - 17:17


#11 ЯкЦинДрак

ЯкЦинДрак
  • Пользователь
  • 88 сообщений
  • Программирование
  • Откуда:Russia

Опубликовано 20.06.2017 - 17:19

ЯкЦинДрак, Т.е. описание проблемы, ссылка на бесплатное решени, сценарий использования и исходный код это ничего? МАРИХУАНА СУШИТ МОЗГИ - ОПОМНИСЬ! :D

Смотря какое описание и какой исходный код...

Вы можете дать ссылку, на которой можно увидеть живьем, как "AJAX вешает базу"?

#12 Just074

Just074
  • Пользователь
  • 38 сообщений
  • Программирование, Верстка, Заказчик

Опубликовано 20.06.2017 - 18:06

ЯкЦинДрак, в закрытой интранет сети разрабатываю, ссылки нет к сожалению, ссылка на само решение в первом сообщении, исходный JS код, привел выше

Дублирую еще раз - http://forum.simplac...ация-пагинация/



#13 ЯкЦинДрак

ЯкЦинДрак
  • Пользователь
  • 88 сообщений
  • Программирование
  • Откуда:Russia

Опубликовано 20.06.2017 - 18:48

Судя по всему, Вы хотите сказать, что по ссылке находится описание разработки, которую Вы применяете, и в результате "AJAX вешает базу".

 

В текущей постановке чем Вам помочь? Если я установлю себе ту разработку и увижу точно такую же проблему, как у Вас, то тогда можно найти причину и подсказать Вам. Но с вероятностью 99,99%  при новой установке будет работать нормально.

В чем может быть причина? Может, Вы неверно установили что-то. Может, причина во взаимодействии с другими доработками.  А может, причина в структуре или размере Вашей базы. Гадать можно долго и безрезультатно.

 

Если Вы несколько дней не можете разобраться, вероятнее всего, вопрос более серьезен, чем Вы думаете, и надо к нему подходить соответственно. ИМХО, реальный путь для Вас - во-первых, установить копию сайта на хостинге, к которому сможете дать доступ, во-вторых, найти (материально заинтересовать) специалиста, который возьмется найти и устранить причину...



#14 Just074

Just074
  • Пользователь
  • 38 сообщений
  • Программирование, Верстка, Заказчик

Опубликовано 20.06.2017 - 18:59

Посыпаю голову пеплом, простите коллеги, что ввел в заблуждение -  AJAX тут не причем! Простите, не знаю как я тестировал, что решил что проблема из-за AJAX, наверное не обратил внимание при переключении категорий на кол-во таваров в них.

 

 

В общем, тормоза не связаны с AJAX, тормозит и без него, в категории  около 10,000 товаров и сортировка по цене вешает базу. 



Вопрос про скролл остается актуальным :) Подскажите пжл, как скроллить страницу не в самый верх, а к нужному диву? 

 

$.get(get_link, function(data){
		var scroll = $('.content').html(data).css('opacity', 1).offset().top;
		$('html, body').stop().animate({scrollLeft: 0, scrollTop:(scroll-200)}, 500);
	})


#15 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 6 691 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 20.06.2017 - 19:01

https://github.com/f...jquery.scrollTo

#16 Just074

Just074
  • Пользователь
  • 38 сообщений
  • Программирование, Верстка, Заказчик

Опубликовано 20.06.2017 - 19:18

Я сделал так:

 

	var scroll = $('.content').html(data).css('opacity', 1).offset().top;
		$('html, body').stop().animate({scrollLeft: 0, scrollTop:(scroll+50)}, 500);






Также с меткой «ajax, pagination, пагинация, сортировка, цена»

0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых