Pole widzenia wartość hosting Drupal
Zwraca renderable tablicę dla pojedynczej wartości pola.
parametry
$ ENTITY_TYPE. Rodzaj $ podmiotu; na przykład „Węzeł” lub „użytkownik”.
$ Podmiot. Jednostka zawierająca pole do wyświetlenia. Musi zawierać co najmniej klucz ID i dane pola do wyświetlenia.
$ Nazwa_pola. Nazwa pola do wyświetlenia.
$ Poz. Wartość pola do wyświetlenia, jak stwierdzono w $ entity-> nazwa_pola [$ langCode] [$ §].
$ Display. Może być zarówno nazwa trybie podglądu lub tablicą ustawień wyświetlania. Zobacz field_view_field (), aby uzyskać więcej informacji.
$ LangCode. (Opcjonalnie) Język wartości w $ poz. Jeśli nie podana, zostanie przyjęta obecny język.
wartość zwracana
Renderable tablicy dla wartości pola.
powiązane tematy
Pole API Dołączanie niestandardowych pól danych podmiotom Drupal.
dwalker51 skomentował 25 lipca 2012 o 7:38 pm
Pomocne ostatnie dwa komentarze. I zostały próbuje dodać kilka warunkowe argumenty w przepisach z php, ale potrzebne, aby dostać pól CCK oraz ich odpowiednie znaki. To było trochę jak koszmar! Mam na zamieszanie, które tokena oraz jednostka mieć problemu z ich podkreślenia / rozdzielczej. I mimo, że nie znaleźliśmy [ „#markup”] nie działa, ponieważ drukowanie w foreach dostał mi wynik, ale również drukowane na „1” z [#access] w tablicy.
To jest to, co każda tablica wygląda użyciu print_r ($ wyjście); I zostały badania z tylko 2 z moich 3 pola adresu MAC.
Zasadniczo mam typ zawartości nazwie network_connection które użytkownik wprowadza swój adres MAC swojego komputera / urządzenia, aby uzyskać dostęp do naszej sieci, pola są imię, nazwisko, e-mail, sieci, a po alot strapienie po prostu poszedł z trzech pól tekstowych z jednej wartości dla ograniczonej liczby adresów MAC. Miałem problemy w pierwszym zrozumienia jak wyodrębnić pole textarea lub nieograniczoną liczbę wystąpień jednym polu tekstowym. Mogę spojrzeć na to jeszcze raz, ponieważ mam lepsze zrozumienie (mam nadzieję), w jaki sposób wykorzystywane są tokeny.
Powrót do biznesu, musiałem utworzyć regułę, że ostrzelali kiedy nowa treść została stworzona typu network_connection i będzie następnie wysłać e-mail do komputera, który Dept. Ale email musiał być sformatowane w taki sposób, że mogą po prostu kopiuj / wklej odpowiedni kod, aby wykonać skrypt, który będzie zawierać nazwisko, e-mail i adres mAC. Musiałem sprawdzić, czy nie było 1,2 lub 3 adresy MAC stworzyć każdą linię kodu skryptu powłoki.
I nawet nie dostał się do tej części jeszcze, ale będę opuścić kod mam, że w końcu pozwolił mi przenieść token CCK textField do zmiennej php.
Jest to część wiadomości z reguły email:
Jak widać poniżej, drukując tokeny podmiot ma poważny problem, ale są różne (--- zamiast ___) z tokenami Token używany do przechwycenia wartości i używać jako zmienna PHP. (Jest masywny dyskusja gdzieś pogoda żetonów lub jednostka powinna być za pomocą kresek lub podkreślenia)
Przetestowałem to na zewnątrz i wysłał moją 500-maila i uzyskałem następujący po utworzeniu typu zawartości nazwie połączenia sieciowego, który miał tylko pierwszy i drugi adres MAC wypełniony i nie trzeci.
VALUE1
00: 11: 22: 33: 44: BB
VALUE2
22: 22: 22: BB: CC: D1
VALUE3
WARTOŚĆ w zmiennej
22: 22: 22: BB: CC: D1
PUSTY
HarryAscent skomentował 03 kwietnia 2013 o 1:33 pm
Wskazówki: Zmienna niezdefiniowany: NID в функции obejmują () (строка 4 в файле /home/sortosad/sortosad.com.ua/www/sites/all/themes/sorto/views-view-field--views-block-and- stron i-etc - strona, z stronie-tytułowy-2 - price.tpl.php).
EntityMalformedException: Отсутствует связующее свойство у сущности типа węzeł. в функции entity_extract_ids () (строка 7633 в файле /home/sortosad/sortosad.com.ua/www/includes/common.inc).
angel.angelio skomentował 28 kwietnia 2013 o 8:01 pm
Chciałem wypełnić meta tag słów kluczowych i używanych funkcji field_view_value i field_get_items dostać filed_tags zawartość znacznika.
// coraz wyszukiwane
$ znaczniki = field_get_items ( 'węzeł', $ node 'field_tags');
$ Keywo = tablica ();
foreach ($ tagów $ elementu => $ wartość) $ wyjściowy = field_view_value ( 'węzeł', $ węzeł 'field_tags' $ znaczniki [$ elementu]);
$ Keywo [] = strip_tags (render ($ wyjściowe));
>
$ Słowa kluczowe = implode ( "", $ keywo);
$ Markup = ''; -> wystarczy umieścić go w sekcji head
Mam nadzieję, że ktoś pomoże i / lub ktoś dać rady w przypadku jestem robi coś złego.
Rob230 skomentował 17 października 2013 o 11:42 am
Próbowałem korzystać z tej funkcji, aby wyświetlić pole graficzne, które mogą być puste. Moje oczekiwanie, że będzie to pokazać domyślną, jeśli nie było żadnej wartości. Nie o to chodzi. Po wielu debugowanie wydaje się, że to po prostu nie jest obsługiwany.
image_field_prepare_view () oczekuje, że szereg elementów, aby być pusty, ale field_view_value () ustawia go do array ($ item). więc nie ma znaczenia, co uchodzić za $ item, czy FAŁSZ lub pustą tablicą, $ rzeczy skończyć się tablica [0] => $ poz. więc nie jest pusta, ponieważ element zerowego jest ustawiony.
Jeśli chcesz wstawić tylko obraz bez elementów etykiety i owijania ale z możliwością korzystania z domyślnego, wystarczy użyć field_view_field () i wyodrębnić elementy, które chcesz przekazać $ lub wyświetlacz do niej i określić, że nie chcesz etykietę ,
Należy również pamiętać, że field_get_default_value () nie działa dla pól graficznych, a przynajmniej nie w przypadku ustawienia domyślne na całym polu, zamiast na przykład.
RogerB skomentował 31 października 2013 o 11:09 am
Starałem się używać field_view_value () w polu wyświetlacza niestandardowy pakiet renderer zwrotnego dla odniesienia jednostki ale ja dostawałem żadnego rezultatu. To nie było w przypadku innych typów pól, takich jak pola dat.
Jeśli dodałem polu odniesienia podmiot bezpośrednio do wyświetlacza potem okazało się, że udało nam wyjście z mojego pola niestandardowego, ale potem, oczywiście, w polu wyświetlany był dwukrotnie.
Przez uruchomienie kodu w debugger Okazało się, że przyczyną mojego problemu było to, że funkcje hook_prepare_view () nie były powoływane w field_view_field () dla pola odniesienia jednostki ponieważ $ podmiotu -> _ field_view_prepared został ustawiony TRUE. Ustawienie go przed wywołaniem field_view_value (FAŁSZ), a potem z powrotem na TRUE rozwiązaniu problemu.
Wydaje się, że $ Entity -> _ field_view_prepared ustawiony jest prawda wszystkie „normalne” pola, które zostały dodane do wyświetlacza po przygotowaliśmy. Nie wiem, czy jest to błąd czy nie. Ewentualnie sprawdzenie rzeczywistej gotowości pola w field_view_field () zamiast polegania na podmiocie $ -> _ field_view_prepared wartość whould być poprawa.
erwangel skomentował 5 maja 2015 w 1:23 pm
Dziękujemy za wskazując _field_view_prepared rolę.
I wołał field_view_field w celu odzyskania wyświetlacz pola (odniesienie taksonomii jeden) w bloku niestandardowego włożonej wyświetlacza domyślnego węzła. To dobrze, ale teraz miał pole wyświetlane dwukrotnie. jeden zwykły Drupal diplay + mój zwyczaj wyświetlacza. Jedynym sposobem na usunięcie diplay Drupal było ukryć go w szablonie. Jeżeli ustawić go jako ukryty w domyślnym widoku ekranie stacji byłem coraz „Undefined index: taxonomy_term w taxonomy_field_formatter_view ()” błędu między ze strony 500 błędów. Korzystanie z _field_view_prepared FALSE / TRUE sposób pozwolił mi, aby wyświetlić pole w moim niestandardowego bloku i ukryć domyślny ekran Drupal za pomocą widoku ustawień wyświetlania, więc nie było potrzeby, aby uderzyć szablonu.
getu-lar skomentował 27 marca 2014 o 4:20 pm
Widziałem ten konkretny wzorzec wielokrotnie w kodzie Drupal. Z definicji funkcji powyżej:
Jestem prawie pewien, że to nie to, co było „niby” do zrobienia. PHP tworzy płytkie klon klona. Ustawienie wartości na (nie) sklonowanego pola na tym klonie wpływa również oryginalną $ Entity AFAIK.
Ktoś chce, aby potwierdzić lub zaprzeczyć?
rhuffstedtler skomentował 19 czerwca 2015 o 5:27 pm
Ja zmieniając formę z modułu diff aby pokazać wartość danej dziedzinie z każdego z ostatnich zmian. Myślę, że byłoby to sposób, aby to zrobić z field_view_value (), ale jeśli tak, to nie jest dla mnie oczywiste. Czy to właściwa funkcja użyć do tego?