Есть два вопроса.
Первый это собственно про BAD_INPUT_PARAMS.
Такой запрос отправляется на штатном шаблоне "Адаптивный шаблон интернет-магазина" с компонентом catalog, использующим шаблон ".default", на отдельной тестовой страницы без кастомизаций:
Эти запросы - от наших кастомизированных шаблонов со всякими накрученными настройками:
На все эти запросы сервер отвечает статусом "400 Bad Request" с содержимым "BAD_INPUT_PARAMS".
Лицензия на Битрикс имеется.
Как сделать чтобы INPUT PARAMS серверу были не BAD, а GOOD?
Второй вопрос - в ограничении количества товаров, выводимых компонентом с БигДатой.
Вместо простого PAGE_ELEMENT_COUNT там используется что-то мне непонятное. В общем, берутся записи из PRODUCT_ROW_VARIANTS, по полю VARIANT каждой записи добывается соответствующее полю количество товаров, все эти количества плюсуются друг к другу и таким образом вычисляется итоговое количество товаров, которые надо вывалить в шаблон. При этом на сервер analytics.bitrix.info отправляется ещё параметр count, содержащий двойное количество этих товаров.
Пока что для получения предсказуемых результатов не придумал ничего лучше, как преобразовывать PAGE_ELEMENT_COUNT в соответствующий PRODUCT_ROW_VARIANTS следующим кодом:
Например, для вывода 12 товаров получится строка "[{'VARIANT':'4','BIG_DATA':true},{'VARIANT':'4','BIG_DATA':true},{'VARIANT':'1','BIG_DATA':true}]". "Вариант 4, вариант 4, вариант 1" означает, что надо получить 5+5+2 = 12 товаров. На analytics.bitrix.info в этом случае уедет count=24.
Гм-гм, только это по сути получается сильно кривой хак. А можно как-то компоненту bitrix:catalog.section с включенной БигДатой сказать "дай мне 12 товаров" более простым способом?
Первый это собственно про BAD_INPUT_PARAMS.
Такой запрос отправляется на штатном шаблоне "Адаптивный шаблон интернет-магазина" с компонентом catalog, использующим шаблон ".default", на отдельной тестовой страницы без кастомизаций:
Код |
---|
https://analytics.bitrix.info/crecoms/v1_0/recoms.php?uid=&aid=...&count=30&op=recommend&ib=4 |
Эти запросы - от наших кастомизированных шаблонов со всякими накрученными настройками:
Код |
---|
https://analytics.bitrix.info/crecoms/v1_0/recoms.php?uid=&aid=...&count=48&op=recommend&ib=4 https://analytics.bitrix.info/crecoms/v1_0/recoms.php?uid=&aid=...&count=48&op=simitems&eid=207174&ib=4 https://analytics.bitrix.info/crecoms/v1_0/recoms.php?uid=&aid=...&count=48&op=sim_domain_items&type=order&domain=...:80&ib=4 |
На все эти запросы сервер отвечает статусом "400 Bad Request" с содержимым "BAD_INPUT_PARAMS".
Лицензия на Битрикс имеется.
Как сделать чтобы INPUT PARAMS серверу были не BAD, а GOOD?
Второй вопрос - в ограничении количества товаров, выводимых компонентом с БигДатой.
Вместо простого PAGE_ELEMENT_COUNT там используется что-то мне непонятное. В общем, берутся записи из PRODUCT_ROW_VARIANTS, по полю VARIANT каждой записи добывается соответствующее полю количество товаров, все эти количества плюсуются друг к другу и таким образом вычисляется итоговое количество товаров, которые надо вывалить в шаблон. При этом на сервер analytics.bitrix.info отправляется ещё параметр count, содержащий двойное количество этих товаров.
Пока что для получения предсказуемых результатов не придумал ничего лучше, как преобразовывать PAGE_ELEMENT_COUNT в соответствующий PRODUCT_ROW_VARIANTS следующим кодом:
Код |
---|
$rowVariantsString = ''; $fivesAmount = (int)floor($params['PAGE_ELEMENT_COUNT'] / 5); $onesAmount = ($params['PAGE_ELEMENT_COUNT'] % 5); for ($a = 0; $a < $fivesAmount; $a++) { $rowVariantsString .= "{'VARIANT':'4','BIG_DATA':true},"; } if ($onesAmount) { $rowVariantsString .= "{'VARIANT':'".($onesAmount-1)."','BIG_DATA':true},"; } $rowVariantsString = '['. substr($rowVariantsString, 0, -1) .']'; |
Например, для вывода 12 товаров получится строка "[{'VARIANT':'4','BIG_DATA':true},{'VARIANT':'4','BIG_DATA':true},{'VARIANT':'1','BIG_DATA':true}]". "Вариант 4, вариант 4, вариант 1" означает, что надо получить 5+5+2 = 12 товаров. На analytics.bitrix.info в этом случае уедет count=24.
Гм-гм, только это по сути получается сильно кривой хак. А можно как-то компоненту bitrix:catalog.section с включенной БигДатой сказать "дай мне 12 товаров" более простым способом?