Есть страница каталога
Она уже сврстана. Врстка есть.
На странице есть фильтр, пагинация и сортировка.
Нужен тот, кто настроит их следующим образом:
1. Фильтр, пагинация, сортировка должны работать с ajax, параметры должны учитываться в url, чтобы можно было скопировать ссылку на нужную отфильтрованную страницу. Изменение параметров в url должны учитываться в истории браузера, это нужно для СЕО, см. history.js ;
2. Не использовать пре-рендеринг товаров, т.е. при первой загрузке страницы товары должны выводиться статично, даже без javascript, это нужно для СЕО;
3. Обмен данными должен производиться в формате json, структуру объектов json нужно разработать, примерно должно быть 2 объекта:
- с параметрами фильтра, сортировки, пагинации (этот объект будет уходить на сервер),
- с товарами и их параметрами (этот объект будет возвращать сервер для вывода товаров).
4. Никакой бекенд делать не нужно, для возврата с сервера объекта с товарами можно создать какой-нибудь test.json в котором будут тестовые данные и обращаться к этому файлу;
5. Предусмотреть неактивные параметры фильтра которые нельзя выбрать и которые не будут уходить на сервер;
6. Количество товаров на странице должно легко регулироваться в скрипте;
7. Фильтр и сортировка на странице со статическими данными;
8.
это пример который должен приходить от сервера чтобы вывести товары, обновить фильтры/пагинацию/сортировку, установить url и историю браузера и т.п., т.е. на основании приходящих данных параметры на странице каталога должны обновляться еще раз пользователь сначала сам выбрал что-то, потом пришли данные с сервера и обновили состояние параметров на странице;
9.
это пример данных которые должен принимать сервер и отдавать пример выше
(
, данные должны отправляться через секунду после взаимодействия с фильтром, если пользователь в промежутке между взаимодействием с фильтром и отправкой данных что-то изменил в фильтре, старые данные не должны отправляться, т.е. запрос отменяется, счетчик с секундой обновляется и через секунду уходят новые данные. При взаимодействии с пагинацией и сортировкой данные должны уходить сразу, даже если в это время идет задержка (1с) фильтра.
10. При нажатии на кнопку фильтрации должен отправляться ajax-запрос с такими же параметрами как описано в пункте 9.
11. При нажатии на кнопку сброс в фильтре, чистятся все параметры в url, так же записывается переход в истории браузера, фильтр пагинация и сортировка возвращаются к начальному значению, уходит ajax-запрос для получения товаров.
12. Весь функционал фильтра писать на ООП.
В отклике, напишите, пожалуйста, сколько примерно это займт ЧИСТОГО времени. Примерно.
Пожалуйста, откликайтесь только если вы действительно знаете, как это сделать. Если есть вопросы задавайте.
Шаблонные отклики сразу в отказ.