Дизайн шаблона для фильтрации продуктов? - PullRequest
0 голосов
/ 23 мая 2011

Если вы переходите на веб-сайт, такой как Newegg или B & H , когда они показывают список продуктов, есть несколько вариантов фильтров, таких как Бренд, Цена, Размер, Цвет и т. Д.

Каков хороший шаблон дизайна для чего-то подобного?

Также имейте в виду, что не все продукты имеют одинаковые параметры - монитор будет иметь максимальное разрешение и размер экрана, а жесткий диск -иметь емкость, тип подключения и т. д.

Единственное, о чем я могу думать, это использовать архитектуру EAV в базе данных, чтобы связать все параметры фильтрации для каждого продукта, а затем при загрузке всех продуктов,вытяните все параметры и отобразите параметры фильтрации для соответствующих категорий.Это не похоже на то, что оно будет хорошо масштабироваться, и все еще заставляет меня задуматься, что мне делать, если только половина показанных продуктов имеет конкретную опцию (размер экрана).

product(id, name, price, etc.) // 1, "Cool Monitor", 200.00

filter_options(id, option) // 3, "Screen Size"

product_filters(product_id, filter_id, value) // 1, 3, "22.in"

Я не хочу изобретать велосипед или придумывать слишком сложное решение, если уже есть известный шаблон для чего-то подобного.Я предполагаю, что есть, так как я вижу это много в эти дни.

Если это имеет значение, я строю это на PHP, CakePHP 1.3, с MySQL.

Ответы [ 2 ]

1 голос
/ 24 мая 2011

Используйте шаблон спецификации.Он был создан для этого.

Я не смог найти хорошую реализацию php.Но это не должно быть так сложно построить.

0 голосов
/ 23 мая 2011

Что я хотел бы сделать, это создать функцию фильтрации для каждой таблицы, к которой вы обращаетесь, и вызвать каждую из них соответственно, и они будут обрабатывать, как и по чему они фильтруют.

Мои $ .02

http://dev.mysql.com/doc/refman/5.1/en/adding-functions.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...