Извлечь URL из поля ссылки в Drupal? - PullRequest
1 голос
/ 04 января 2012

У меня есть поле ссылки , которое составлено из URL-адреса и заголовка, мне нужно распечатать только URL-адрес поля ссылки без заголовка в моем tpl-файле типа содержимого узла, возможно ли это

Спасибо!

1 Ответ

8 голосов
/ 04 января 2012

Это должно быть так просто, как:

$url = $node->field_name_of_field[$node->language][0]['url'];

Я немного разбью это на части:

Поля являются членами объекта узла и всегда имеют префикс field_, поэтомуполе с именем my_field можно найти с помощью $node->field_my_field.

. Каждый элемент поля объекта узла сам по себе является массивом всех разных языковых версий для поля, введенных ключом языка.Чтобы получить доступ к значению поля для языка, который узел обозначен так, как вы используете: $node->field_my_field[$node->language] или, возможно, $node->field_my_field[LANGUAGE_NONE] (по умолчанию).

Кроме того, каждый языковой массив может иметь несколькозначения поля в нем, если количество элементов поля больше 1. Если у вас есть поле (например, изображения) с несколькими допустимыми значениями, вы можете просмотреть каждое из них следующим образом:

foreach ($node->field_my_field[$node->language] as $delta => $item) {

}

Внутри каждого элементаязыковой массив - это фактические значения полей.Поля могут иметь несколько столбцов (например, модуль связи имеет url, title и attributes).Чтобы продолжить предыдущий пример, вы должны найти URL-адрес и заголовок следующим образом:

$url = $node->field_name_of_field[$node->language][0]['url'];
$title = $node->field_name_of_field[$node->language][0]['title'];

Надеюсь, это поможет!

...