1

URL とタイトルから構成されるリンク フィールドがあります。ノード コンテンツ タイプの tpl ファイルで、リンク フィールドの URL のみをタイトルなしで出力する必要があります。それは可能ですか?

ありがとう!

4

1 に答える 1

9

次のように簡単です。

$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) {

}

言語配列の各項目内には、実際のフィールド値があります。フィールドには複数の列が含まれる場合があります (たとえば、リンク モジュールにはurltitleおよびがありますattributes)。前の例を続けると、URL とタイトルは次のようになります。

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

それが役立つことを願っています!

于 2012-01-04T13:19:16.080 に答える