poniedziałek, 25 lipca 2011

Korzystanie z tagów tematycznych w aplikacji ASP.NET MVC

Pracując na własnym CMSem postanowiłem stworzyć wyszukiwanie artykułów za pomocą dostępnych tagów.
Użytkownikowi powinny wyświetlać się wszystkie dostępne tagi, oraz powinien mieć możliwość wyboru interesującego go tagu za pomocą kliknięcia.


Wpierw baza danych.
Do przechowywania tagów w bazie postanowiłem wykorzystać strukturę znaną jako"Toxi", z której jak wyczytałem korzysta również Wordpress. Schemat jest następujący:



Mamy 3 tabele. Tabelę Articles w której przechowujemy publikowane artykuły, tabelę  Tags w której trzymamy listę dostępnych tagów. Tabela ArticleTags przechowuje referencję do pozostałych.


Następnie w naszej aplikacji MVC tworzymy model bazy danych, do którego dostęp uzyskujemy z odpowiednich metod naszego kontrolera.


Przykładowa metoda pobierająca listę dostępnych tagów:



Na tej podstawie tworzymy widok, który wyświetli nam pobrane dane:


Powyższy widok spowoduje, że każdy tag będzie odnośnikiem, a jego kliknięcie spowoduje wywołanie metody kontrolera: ShowArticlesByTag, która jako argument przyjmuje Id klikniętego tagu i zwróci nam listę artykułów powiązanych z danym tagiem. Kod metody:




Przykładowy widok prezentujący listę artykułów:






Brak komentarzy:

Prześlij komentarz