web-dev-qa-db-ja.com

カスタム日付形式を使用して日付フィールドをレンダリングするにはどうすればよいですか?

2つの「日付と時刻」フィールドを持つコンテンツタイプがあり、「2012年11月22日午後5時19分」形式で表示するように設定されています。

date fields in Drupal

アイテム自体では、開始日と終了日が両方とも時間を含むように設定されています。

saved start and end date in Drupal

私のnode.tpl.phpでは、2つのフィールドを出力します。

print drupal_render(field_view_field('node', $node, 'field_date'));
print drupal_render(field_view_field('node', $node, 'field_end_datetime'));

ただし、2つのフィールドは時間なしで表示されます。

開始日時:2012年12月2日

終了日時:2012年12月2日

カスタム日付形式を使用してこれらの2つのフィールドを出力するにはどうすればよいですか?

2
George

ノードテンプレートでは、次のようにして、選択した形式で日付を出力できるはずです。

print render($content['field_date']);
print render($content['field_end_datetime']);
4
enzipher

日付のフォーマットに field_view_field を使用する場合は、$ displayパラメータを以下のように渡します。

$display = array('settings' => array('format_type' => 'medium'));
$output = field_view_field('node', $node, 'field_date_time', $display);

format_type -drupalサイトのadmin/config/regional/date-timeで定義されている任意の有効な日時フォーマット名です。

4
LukasM

これを使用して、ラベルなしで日付を作成およびレンダリングしました。

$display = array('settings' => array('format_type' => 'medium'),'label'=>'hidden');
$output = field_view_field('node', $node, 'field_date', $display);
print render($output);

次に、「中」と書かれているカスタム日付形式のマシン名を代入できます。

1
Darren Brooks

field_view_value() を使用して、フォーマットされた値を表示する必要がある場合があります。

ここで役立つかもしれない同様の質問:

フォーマットを含むフィールド値をどのようにレンダリングしますか?

1
k_x