![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 2 Dołączył: 16.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Prosiłbym o sprawdzenie czy dobrze rozwiązałem problem z tagami w ZF. Przy okazji zoptymalizowany kod przyda się dla forumowiczów bo w sieci jest dość mało literatury odnośnie tagów. Zaznaczam, że kod działa, ale nie wiem czy jest on zgodny z zasadą MVC itp. konwencjami tworzenia we frameworku. Utworzyłem 3 tabele w tym jedną z widokiem.
Niżej kod dwóch modeli:
W akcji kontrolera dodawania artykułu dodałem:
Po zaprojektowaniu powyższych struktur w widoku na stronie bez problemów można zaimplementować chmurkę tagów wykorzystując Zend_Tag. Wiem, że kod nie jest rewelacyjny i dlatego proszę o jakieś uwagi, co należałoby zmienić w kodzie. Z góry dziękuję za pomoc. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 96 Pomógł: 6 Dołączył: 22.08.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Zmieniłbym tylko w Application_Model_Tag::saveTags() przekazywanie tagów. Zamiast stringu oddzielonego przecinkami wymusić przekazywanie gotowej tablicy. Odpuść sobie także walidację (Zend_Validate_Db_NoRecordExists). Ustaw sobie index unique na kolumnie title. Zaoszczędzisz sporą ilość zapytań do bazy
![]() I jeszcze zamiast $this->getId($tag); daj $this->id; Po zapisaniu rekordu automatycznie klucz główny wypełnia się wygenerowaną wartością. Aha, no i zmień sobie silnik mysql na innodb aby wdrożyć transakcje. Ten post edytował snapshot 3.11.2011, 10:25:38 -------------------- ZF developer
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 08:45 |