Значение поля печати узлов - PullRequest
2 голосов
/ 25 июня 2011

Я хотел бы напечатать значение поля узлов в PHP-блоке Drupal 7, но когда я использую код:

<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
  if ($node = node_load(arg(1))) {
    if ($node->type == 'offer') {
      $company_name = check_plain($node->field_company[0]['value']);
    }
  }
  if (!empty($company_name)) {
    print $company_name;
  }
}
?>

, он ничего не делает - ничего не печатает.Я уверен, что моя переменная пуста, но почему?Что я делаю не так?

Спасибо за любую помощь

1 Ответ

1 голос
/ 26 июня 2011
$company_name = check_plain($node->field_company[0]['value']);

Это ооочень D6.:) В D7 по умолчанию это будет:

$company_name = check_plain($node->field_company[$node->language][0]['value']);

Обычно просто print_r / var_dump (или kpr / dpr, если у вас установлен devel) объект $ node там, чтобы увидеть, какие поля у вас внутри и какчтобы получить к ним доступ.

...