Перейти к содержанию
Форум поддержки пользователей VamShop

Параметр on_page


Рекомендуемые сообщения

Где по-копаться, что бы установить максимальное значение, которое может передаваться GET запросом on_page, что бы, например, не ложили сайт страницей с on_page = 1000000000 товаров?

Ссылка на сообщение
Поделиться на другие сайты

есть 20к товаров.

берем и досим с 5и серверов на эту страницу. сервер уже получит не мало. 

досят обычно большим кол-вом машин. тут вообще сайт ляжет на долго

 

Ссылка на сообщение
Поделиться на другие сайты

Для 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;
 }

 

Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, KoVaLsKy сказал:

есть 20к товаров.

берем и досим с 5и серверов на эту страницу. сервер уже получит не мало. 

То есть в категории 20к товаров?

Разумно ли это?

Ссылка на сообщение
Поделиться на другие сайты
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 товаров.

 

Ссылка на сообщение
Поделиться на другие сайты

Да, с 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;
 }

 

Ссылка на сообщение
Поделиться на другие сайты

Я сделал вот так

 

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;
 }

 

Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, VaM сказал:

А у моего варианта в чём проблема, не работает?!

это параметр передающий максимум товаров на одной странице в каталоге.

по нему идет вывод по умолчанию.  т.е параметр on_page будет работать только в сторону уменьшения единиц товара. 

а всегда вывожу по умолчанию 22 товара, а даю еще возможность вывести на странице 50 и 100 (для тех кто не любит щелкать 1,2,3 и т.д

 

 

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...