Отримання міток поля зі змінної $ node


8

Як я можу отримати мітки конкретних полів у вузлі в Drupal 7?

Сфера, для якої я зацікавлена, має таку структуру:

    [field_text_question1] => Масив (
      [und] => Масив (
        [0] => Масив (
          [value] => Стаж з продажу
          [формат] => 
          [safe_value] => Стажер з продажу
        ) 
      )
    )

Відповіді:


13

Найкращим способом є використання field_info_instance ($ entit_type, $ field_name, $ bundle_name) для отримання інформації про конкретний примірник поля. Мітка поля міститься у масиві, поверненому з цієї функції.

 $info = field_info_instance('node','field_name','content_type_name');
 print $info['label'];

мені потрібно використовувати ім'я поля, але чи можу я перекласти сутність? Я спробував це, але це не працює
Waseeem Alfarra

1

Я вважаю, ти зазираєш у $nodeзмінну. Він там недоступний. Лише значення поля зберігаються всередині $nodeзмінної, а не параметри поля (наприклад, мітка). Якщо ви хочете, щоб мітка перегляньте $contentзмінну.

$contentзмінна доступна у MYTHEME_preprocess_node(&$variable)функції шаблону теми node.tpl.php, а також у кількох інших.

Якщо вона недоступна, ви можете зателефонувати field_info_field($field_name)


0

Найпростіший спосіб роздрукувати мітку поля вузла:

<?php print $content['field_your_field_name']['#title']; ?>

(Я виявив це після багатьох масивів print_r та об'єктів Drupal! Якщо це так просто, чому його ніде не пояснюють, або чому так приховано, що я не знайшов хитрості? І пройшов довго від запитання до цієї відповіді ...)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.