-
Notifications
You must be signed in to change notification settings - Fork 0
Shop
При входе на сайт пользователь попадает на страницу магазина - "Лекарства". В окне присутствует меню, строка для поиска, результаты поиска и в футере - контакты для связи. Если пользователь ничего не искал, в качестве результатов поиска отображаются товары из списка рекомендуемых.
Результаты выводятся постранично. Размер страницы по умолчанию равен 8, но может быть переопределен через URL браузера.
Поиск работает по следующему алгоритму
- Ищет простое вхождение в название лекарства
- Если ничего не найдено, выполняется полнотекстовый поиск mongodb по поля: название, описание, производитель, МНН
- Если ничего не найдено, выполняется поиск с учетом функции soundex
Все виды поиска выполняют преобразование раскладки клавиатуры к русской
URL для поиска использует hash для обновления списка. Hash имеет следующий формат #search=Аспирин,offset=0,pageSize=8, где
- search - строка поиска
- offset - кол-во пропущенных элементов
- pageSize - размер страницы, по умолчанию 8
На каждом товаре присутствует кнопки + и -, которые управляют присутствием данного товара в корзине пользователя. Если корзина пуста, то пункт меню "Корзина" отсутствует. При наличии товара в корзине в этом пункте отображается общее количество наименований в корзине.
Если пользователь не аутентифицирован, то корзина является сессионной и может исчезнуть после окончания сессии, после аутентификации она привязывается к данному пользователю.
В случае если у пользователя есть роль ADMIN, отображается дополнительное меню "Администрирование"
