Страница 1 из 1

Ошибка и тормоза при больших значениях

СообщениеДобавлено: 16 май 2012, 00:56
reservist
Если поставить в админке "Использовать ползунок в поиске для поля Площадь" и добавить наряду с квартирами скажем еще и участок площадью эдак 75 соток (7500 кв.м), то ползунок получается слишком большим (большое кол-во значений). Как следствие страницы грузятся по 10-15 секунд в лучшем случае, в худшем крах браузера если открыто куча страниц и не хватает памяти. Убрал в настройках ползунок - грузятся за пару секунд.
Браузер - последний хром.
Операционка - винда XP.
Нужно переделать код ползунка на более гибкий, потому как в принципе он оч удобен и нужен на сайте. Или уменьшать кол-во значений в зависимости от пределов диапазона или ХЗ как еще.

Просьба перенести тему в раздел ошибок.

Re: Ошибка и тормоза при больших значениях

СообщениеДобавлено: 16 май 2012, 08:49
Koduc
Правили такое уже, найти не могу где только;)
Как Xpycm появится на форуме - думаю отпишет.

Re: Ошибка и тормоза при больших значениях

СообщениеДобавлено: 16 май 2012, 08:52
andipas
reservist писал(а):2. Предлагаю под ошибки выделить отдельную тему в разделе форума и закрепить в топе, чтобы не захламлять раздел форума темами о неисправностях. *PARDON*


Давно уже такой раздел есть viewforum.php?f=3

Re: Ошибка и тормоза при больших значениях

СообщениеДобавлено: 16 май 2012, 08:54
reservist
andipas писал(а):
reservist писал(а):2. Предлагаю под ошибки выделить отдельную тему в разделе форума и закрепить в топе, чтобы не захламлять раздел форума темами о неисправностях. *PARDON*


Давно уже такой раздел есть viewforum.php?f=3


Точно. Мне меньше за монитором сидеть нужно, уже видеть плохо стал :-D

Re: Ошибка и тормоза при больших значениях

СообщениеДобавлено: 16 май 2012, 08:55
Xpycm
Да, кто-то уже писал об этом, в новой версии будет поправлено.
Сейчас можете заменить код в файле protected\views\site\field-square-search.php

Код: Выделить всё
$step = 5;
if ($squareAll['square_max'] - $squareAll['square_min'] <= 5) {
    $step = 1;
}
 


на

Код: Выделить всё
$diffSquare = $squareAll['square_max'] - $squareAll['square_min'];
                    
if 
($diffSquare <= 10)
    $step = 1;
else
    $step = 5;

if ($diffSquare > 100) {
    $step = 10;
}
if ($diffSquare > 1000) {
    $step = 100;
}
if ($diffSquare > 10000) {
    $step = 1000;
}
if ($diffSquare > 100000) {
    $step = 10000;
}
 

Re: Ошибка и тормоза при больших значениях

СообщениеДобавлено: 16 май 2012, 10:47
reservist
Супер! Работает. Зависаний нет *BRAVO*