KoVaLsKy 59 Опубликовано 31 января, 2016 Жалоба Share Опубликовано 31 января, 2016 Где по-копаться, что бы установить максимальное значение, которое может передаваться GET запросом on_page, что бы, например, не ложили сайт страницей с on_page = 1000000000 товаров? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 31 января, 2016 Жалоба Share Опубликовано 31 января, 2016 А как они положат сайт таким запросом?! Что, в базе есть 1000000000 товаров?! Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 1 февраля, 2016 Автор Жалоба Share Опубликовано 1 февраля, 2016 есть 20к товаров. берем и досим с 5и серверов на эту страницу. сервер уже получит не мало. досят обычно большим кол-вом машин. тут вообще сайт ляжет на долго Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 1 февраля, 2016 Жалоба Share Опубликовано 1 февраля, 2016 Для MySQL базы 20к товаров - капля в море и если в таблице есть индексы, а они есть, то такой запрос выполняется за сотые, максимум десятые секунды. В любом случае, если я правильно понял вопрос, то это ведь уже предусмотрено всё. Если не задан on_page, то берётся значение из Админки - Настройки - Максимальные - Товаров на одной странице в каталоге. Вот этот кусок кода в /includes/modules/product_listing.php: if (isset($_GET['on_page']) && is_numeric($_GET['on_page'])) { $num_page = $_GET['on_page']; } else { $num_page = MAX_DISPLAY_SEARCH_RESULTS; } Ссылка на сообщение Поделиться на другие сайты
buddha 0 Опубликовано 1 февраля, 2016 Жалоба Share Опубликовано 1 февраля, 2016 2 часа назад, KoVaLsKy сказал: есть 20к товаров. берем и досим с 5и серверов на эту страницу. сервер уже получит не мало. То есть в категории 20к товаров? Разумно ли это? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 1 февраля, 2016 Жалоба Share Опубликовано 1 февраля, 2016 Нет конечно :) Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 1 февраля, 2016 Автор Жалоба Share Опубликовано 1 февраля, 2016 7 часов назад, buddha сказал: То есть в категории 20к товаров? Разумно ли это? сайт.ру/products_filter.php выведет все товары каталога. 8 часов назад, VaM сказал: Для MySQL базы 20к товаров - капля в море и если в таблице есть индексы, а они есть, то такой запрос выполняется за сотые, максимум десятые секунды. В любом случае, если я правильно понял вопрос, то это ведь уже предусмотрено всё. Если не задан on_page, то берётся значение из Админки - Настройки - Максимальные - Товаров на одной странице в каталоге. Вот этот кусок кода в /includes/modules/product_listing.php: if (isset($_GET['on_page']) && is_numeric($_GET['on_page'])) { $num_page = $_GET['on_page']; } else { $num_page = MAX_DISPLAY_SEARCH_RESULTS; } а он как раз задается большим числом, например 1000000000 в каком месте SQL то поправить. просто до него поставлю условие, что бы максимум был, например 100 товаров. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 1 февраля, 2016 Жалоба Share Опубликовано 1 февраля, 2016 Да, с products_filter.php есть такая проблема. Может попробовать этот код поменять на что-то типа: if (isset($_GET['on_page']) && is_numeric($_GET['on_page']) && $_GET['on_page'] < MAX_DISPLAY_SEARCH_RESULTS) { $num_page = $_GET['on_page']; } else { $_GET['on_page'] = MAX_DISPLAY_SEARCH_RESULTS; $num_page = MAX_DISPLAY_SEARCH_RESULTS; } Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 1 февраля, 2016 Автор Жалоба Share Опубликовано 1 февраля, 2016 Я сделал вот так if (isset($_GET['on_page']) && is_numeric($_GET['on_page'])) { if ($_GET['on_page'] <=100 ){$num_page = $_GET['on_page'];}else{$num_page = 100;} } else { $num_page = MAX_DISPLAY_SEARCH_RESULTS; } Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 1 февраля, 2016 Жалоба Share Опубликовано 1 февраля, 2016 А у моего варианта в чём проблема, не работает?! Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 1 февраля, 2016 Автор Жалоба Share Опубликовано 1 февраля, 2016 2 часа назад, VaM сказал: А у моего варианта в чём проблема, не работает?! это параметр передающий максимум товаров на одной странице в каталоге. по нему идет вывод по умолчанию. т.е параметр on_page будет работать только в сторону уменьшения единиц товара. а всегда вывожу по умолчанию 22 товара, а даю еще возможность вывести на странице 50 и 100 (для тех кто не любит щелкать 1,2,3 и т.д Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 2 февраля, 2016 Жалоба Share Опубликовано 2 февраля, 2016 Понятно. Добавлю тогда Ваш код по умолчанию в следующей версии. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения