Нужен совет от опытных.
На цмс для магазина надо сдеать фильтрацию. пхп там не пашет. так что будем говнокодить на js. У цмс есть апи. Ну и соответсвенно для этого апи нужен другой сайт. Он есть, и это блог к магазину. Туда можно посылать аякс, от туда можно обращаться к апи, потом вернуть результат.
Но дело в том, что в апи не фунционала для фильтрации
. Там даже не можно получить несколько продуктов одновременно. Только по одному продукту. Как я решил сделать. Выбрать все продукты по апи, массив будет следуюущий:
array(
id => array(
'keyword1', 'keyword2', 'keyword3'
)
)
Id - ид продукта, keyword1 - ключекое слово, что то вроде тега (может быть "зеленый цвет", "средний размер" и т.п.).
Этот массив обработать json_encode и записать в data.json. Для напоминания, все это делаетя не на майте магазина, а на сайте - блоге.
И теперь, уже не сайте магазине, при загрузки страници фильтрации, обращаться в этому data.json и сделать с него простой объект. И когда пользователь добавляет или удаляет фильтр ('keyword1', 'keyword2'), то ведеться поиск в объекте. В результате имеем массив ид продуктов. Ну а дале уже собирать сами продукты.. здесь не так сложно.
Сейчас эта схема работает. И довольно быстро и хорошо. Но хочетья услышить, надолго ли это? Можно ли как то это оптимизировать?