Próbuję dowiedzieć się, jak utworzyć niestandardowy filtr narażony dla wniesionego modułu (wybranego lub innego). Znalazłem ten samouczek dla Drupala 6, ale wydaje się, że kod nie działa od razu po wyjęciu z pudełka na Drupal 7.
Próbowałem też spojrzeć na kod w hierarchicznym module wyboru , ale wydaje się, że jest on znacznie bardziej złożony niż to, co próbuję zrobić.
Czy ktoś ma jakieś sugestie dotyczące samouczków lub modułów, które implementują niestandardowe filtry narażone w stosunkowo prosty sposób (np. Nie ogromna liczba niestandardowych programów obsługi, takich jak moduł lokalizacji), z których mogę się uczyć?
Czaiłem się w Internecie, próbując znaleźć odpowiedź na to samo pytanie i oto, co mam w rezultacie:
Zaimplementuj kilka haków w swoim module niestandardowym. Zamień
modulename
i nafiltername
swoje rzeczywiste nazwiska.Utwórz folder o nazwie
inc
wewnątrz folderu modułu i utwórz plikmodulename_handler_filter_filtername.inc
tam nazwany (patrz kod powyżej dla niejawnego odniesienia do tego pliku). Nie zapomnij użyć rzeczywistych nazw modułów i filtrów.Wklej następujący kod do tego
modulename_handler_filter_filtername.inc
pliku. Kod użyty w tym przykładzie tworzy zestaw przycisków radiowych prezentujących lata. Możesz więc filtrować węzły według utworzonych lat, używając tylko lat, w których zostały utworzone węzły.To wszystko, czego potrzebujesz, aby uzyskać najprostszy niestandardowy filtr z widocznym działaniem!
Pamiętaj, że użycie
FROM_UNIXTIME
warunkuSELECT
zapytania może spowolnić bazę danych.źródło
$this->query->add_where($this->options['group'], $real_field_name, $this->value['value'], $this->operator);
. Można go znaleźć w powyższym linku.źródło