Xin lỗi cho mã trong tiêu đề, tôi không thể nghĩ ra một cách rõ ràng hơn để hỏi nó.
Tôi có một số nút thuộc location
loại nội dung và chế độ xem xuất ra các lời trêu ghẹo của các nút đó. Tôi muốn thực hiện một số công cụ tùy chỉnh node--location.tpl.php
để ảnh hưởng đến những lời trêu ghẹo ở mọi nơi chúng được hiển thị. Khi tôi thực hiện một thao tác đơn giản dpm($node)
để nhận các biến, một số giá trị trường không phải lúc nào cũng ở cùng một vị trí.
Ví dụ, tôi có field_phone
số điện thoại được định dạng giống hệt nhau. Đối với nút đầu tiên trong khung nhìn này, trường đó được cấu trúc như $node->field_phone['und'][0]['safe_value']
. Nhưng đối với nút thứ hai, nó đơn giản $node->field_phone[0]['safe_value']
.
Tôi biết điều đó und
có liên quan đến bản dịch, và có lẽ có nghĩa là "không xác định". Tôi không làm bất cứ điều gì với bản dịch hoặc bản địa hóa hoặc ngôn ngữ trên trang web, vì vậy nó không giống như nút này khác với các nút khác theo cách đó.
Điều gì gây ra điều này, và có một chức năng hoặc một cái gì đó có thể giúp tôi kiểm tra và nhận được giá trị một cách dễ dàng, hoặc tôi phải tự lăn?
EDIT : Chris Rockwell dưới đây chỉ ra field_get_items()
. Điều này dường như để giải quyết vấn đề của tôi trên trang web mà tôi đang làm việc vào một ngày khác. Nhưng bây giờ, trên một trang web khác, nó thất bại vì chính xác lý do tôi đưa lên đây.
Tôi có một cái nhìn đầu ra ba nút. Vì một số lý do, khi tôi dpm($node)
vào node--node-type.tpl.php
tập tin, tôi nhận được sáu bãi chứa biến. Cái đầu tiên có $node->field_link_image['und'][0]
, trong khi tất cả năm cái khác - BAO GỒM bản sao của cùng một nút - chỉ có $node->field_link_image[0]
. Và bây giờ, field_get_items()
đang âm thầm thất bại và trả về sai trên năm nút cuối cùng.
Vì vậy, tôi quay trở lại câu hỏi ban đầu của mình: Điều gì gây ra sự khác biệt giữa một số biến nút và các biến khác và tôi có thể làm gì về nó?
field_link_image
chấp nhận nhiều giá trị?
field_view_value()
và đồng bằng trên$item
truyền cho nó.