|
8. Фільтрація сторінок за специфічними параметрами в CMS
ADO в Delphi AJAX Android C++ CakePHP CMS COM CSS Delphi Flash Flex HTML Internet Java JavaScript MySQL PHP RIA SCORM Silverlight SQL UML XML Бази даних Веб-розробка Генетичні алгоритми ГІС Гітара Дизайн Економіка Інтелектуальні СДН Колір Масаж Математика Медицина Музика Нечітка логіка ООП Патерни Подання знань Розкрутка сайту, SEO САПР Сесії в PHP Системне програмування Системний аналіз Тестологія Тестування ПЗ Фреймворки Штучний інтелект
|
Знання
→
CMS — системи керування вмістом
→
Розробка систем керування контентом (CMS) – архітектурні та інфологічні засади
CMS — системи керування вмістом → Розробка систем керування контентом (CMS) – архітектурні та інфологічні засади8. Фільтрація сторінок за специфічними параметрами в CMSФільтри по характеристикам товарів є ефективним засобом навігації та пошуку необхідних товарів в інтернет-магазинах (рис.14). Натомість, реалізація такої функціональності вимагає цілого комплексу дій для моделювання даних та побудови алгоритмів пошуку та відображення інформації. Рис. 14. Приклад сторінки інтернет-магазина з фільтрами Реалізація фільтраціїКлас Фільтри відповідає за обробку http-параметрів, підготовку структур даних для відображення панелі фільтрів, генерацію SQL-запиту (або його частини) для отримання сторінок, що задовольняють умовам фільтру. Об’єкт сторінки-контейнера за необхідності ініціалізує та агрегує в собі об’єкт, що керує фільтрами даної сторінки-контейнера. Реляційна модель даних для реалізації фільтрівРис. 15. Реляційна модель фільтрів Формування та обробка http-параметрів та URL
http-запит: http://www.site.com/?view=racecourses&f=26,41,46 В класі Фільтрів реалізувати функції parseHttp() та makeHttp(), що відповідно перетворюють параметри GET-запиту в масив значень фільтрів та навпаки. Генерація SQL-запитуhttp-запит: http://www.site.com/?view=racecourses&f=26,41,46 select pages.* from pages inner join filterValuePages fv1 using (page) inner join filterValuePages fv2 using (page) inner join filterValuePages fv3 using (page) where fv1.filterValue = '26' and fv2.filterValue = '41' and fv3.filterValue = '46' and parentPage = 'racecourses' order by price Для реалізації таких запитів підготувати функцію класу Фільтри, що генерує клаузу JOIN – getJoin(), вхідний параметр – масив значень фільтра. Цю функцію слід задіювати при генерації запита на дочірні елементи контейнера-категорії товарів в класі Сторінка. Особливості застосування логічних операцій «та/або» в SQL-запиті фільтраУ випадку, коли користувач обирає значення фільтрів з різних секцій, такі фільтри формують набір умов “та”. Коли обрано значення фільтрів з однієї групи, такі значення об’єднуються за допомогою “або”. Загальне правило: в середині групи “або”, за межами групи – “та”. На рівні SQL-запиту логіку “або” можна реалізувати за допомогою оператора IN (…). Наприклад користувач обрав значення фільтрів з такими ідентифікаторами: 26, 41, 42, при цьому 41 та 42 належать одній групі фільтру. SQL-запит буде наступним: select pages.* from pages inner join filterValuePages fv1 using (page) inner join filterValuePages fv2 using (page) inner join filterValuePages fv3 using (page) where fv1.filterValue = '26' and fv2.filterValue in ('41', '41') and parentPage = 'racecourses' order by price Формування панелі вибору фільтрів
© Титенко С. В. Інформація курсу по матеріалам: Web-орієнтовані інформаційні системи. Методичні вказівки до вивчення дисципліни для студентів напряму підготовки 6.050103 «Програмна інженерія» / Титенко С. В. – К.: НТУУ «КПІ» 2015. – 51с. Зверніть увагу на додаткові посиланняЯкщо вас цікавить...Головний розділСторінки, близькі за змістомзагрузка...
|
Теми розділу
Сторінки, близькі за змістом
|
|
Copyright © 2008—2026 Портал Знань.
При використанні матеріалів посилання, для інтернет-ресурсів — гіперпосилання, на Znannya.org обов'язкове.
Зв'язок
|
НТУУ "КПІ" Інженерія програмного забезпечення КПІ Лабораторія СЕТ |
|