typy pól hosting Drupal
Czy byłeś kiedyś w sytuacji, gdy trzeba było zebrać pewien typ danych na formularzu węzła i wyświetlać je w pewien sposób, który nie był obsługiwany przez głównych typów pól Drupal? Zamiast używać pole tekstowe, aby wyświetlić coś jak numer telefonu lub adres e-mail, można rozważyć użycie modułów telefon lub email zamiast, z których oba są doskonałymi przykładami dlaczego może trzeba zdefiniować własne niestandardowe typy pól.
W trosce o tym przykładzie będziemy definiować typ pola do wprowadzania numeru tablicy rejestracyjnej pojazdu i stan (nie mam pojęcia, dlaczego trzeba to). Po pierwsze, musimy określić typy danych przechowywanych w tych dziedzinach w pliku .install korzystających hook_schema.
Następnie powiedzieć moduł pól o Twój nowy typ pola używając hook_field_info w pliku .module. Widget jest formą wejścia i formater jest wyświetlacz pola.
Stwórz swój typ (y) widget pole korzystając hook_field_widget_info. Musisz wybrać widżet podczas dodawania pola do rodzaju treści, które pozwalają na określenie wielu formatów wejściowych dla tej konkretnej dziedzinie. W większości przypadków, będziesz prawdopodobnie musiał tylko jeden z nich (lub żadne, jeśli używasz jednego z podstawowych widgetów). W tym przypadku, ponieważ mamy do zbierania numer rejestracyjny i stan jako oddzielnych fragmentów danych, musimy stworzyć widget z tych dziedzin.
Można zdefiniować ustawienia pola formularza za pomocą hook_field_settings_form. To pokaże się w sekcji Ustawienia globalne na stronie konfiguracji pola po dodaniu go do węzła i będzie miał zastosowanie w tej dziedzinie we wszystkich przypadkach z niego.
Można również użyć hook_field_instance_settings_form zdefiniować ustawienia, które są specyficzne dla typu podmiotu, który jest dodawany boiska. To pozwoli Ci korzystać z tego samego pola pomiędzy różnymi rodzajami treści i zmienić te ustawienia.
Formularz wejściowy (tj widget) może być zbudowany przy użyciu hook_field_widget_form. Sprawa przełącznik jest konieczne, jeśli jesteś definiowanie wielu widgetów.
hook_field_presave mogą być wykorzystane do przygotowania danych z widget być wprowadzane do bazy danych. Ponieważ nasz widget wykorzystuje wiele pól zagnieżdżone wewnątrz zestaw pól, musimy odwzorować wartości pól do właściwego miejsca w tablicy danych, aby być zagnieżdżone w bazie danych.
Użyj hook_field_is_empty powiedzieć Drupal, jak sprawdzić, jeśli pole jest puste i obsługiwać go odpowiednio. Jest to konieczne, jeśli zaznaczyć pole wymagane.
Teraz skonfigurować zwrotna walidacja pole hook_field_validate. W tym przypadku tak naprawdę nie potrzeba żadnego sprawdzania poprawności, ale w przypadku zrobić, oto jak to zrobić.
Teraz trzeba zdefiniować formatowania (S) i określić wyjście polowych przy hook_field_formatter_info i hook_field_formatter_view.
I voila! błyszczące nowy typ pola tablicy rejestracyjnej do wykorzystania w dowolnym miejscu na podmiotach, węzłów i użytkowników.
Czy ten post był pomocny dla ciebie? Podziel się poniżej swój komentarz!