URL とタイトルから構成されるリンク フィールドがあります。ノード コンテンツ タイプの tpl ファイルで、リンク フィールドの URL のみをタイトルなしで出力する必要があります。それは可能ですか?
ありがとう!
URL とタイトルから構成されるリンク フィールドがあります。ノード コンテンツ タイプの tpl ファイルで、リンク フィールドの URL のみをタイトルなしで出力する必要があります。それは可能ですか?
ありがとう!
次のように簡単です。
$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'];
それが役立つことを願っています!