テンプレートファイルでformat_date()
を使用して、作成した日付を出力してみました。
私はこのチュートリアルに従いました http://webwash.net/tutorials/handling-date-and-time-drupal-7
日付形式「d、j M y」と日付タイプ「article」を作成し、コードから呼び出しました。
<?php print format_date($node->changed, 'article') ?>
ただし、表示される日付は、作成された日付ではなく、更新された日付です。
ノードの作成日を表示するにはどうすればよいですか?
「作成された」と呼ばれるノードオブジェクトのプロパティがあります。これはあなたが求めているものであり、「変更」を使用したのとまったく同じ方法で使用できます。
<?php print format_date($node->created, 'article'); ?>
最初のステップ
最初のステップは、次のURLのコンテンツタイプ編集ページで「著者と日付情報の表示」を有効にすることです。
/ admin/structure/types/manage/[your_custom_content_type]
...以下に示すように:
データを取得
Node.tpl.phpファイルでこのデータを取得し、投稿日のテーマを変更できます。理想的には、これはカスタムノードテンプレート用であり、メインのnode.tpl.phpファイル用ではありません。私の場合、ブログと呼ばれるコンテンツタイプがあり、ブログの投稿の場合、投稿の日付をこのように表示するだけです。私はnode.tpl.php(私のテーマフォルダーにあります)を取得し、コピーして名前をnode--blog.tpl.phpに変更します。 Drupalの新機能である「二重ダッシュ」に注意してください。
置き換えるコードを見つける
新しいnode--blog.tpl.phpファイルを見ると、PHPコードが表示されているのがわかります。その後、次のように変更します。
<?php if ($display_submitted): ?>
<div class="submitted"><?php print $date; ?> -- <?php print $name; ?></div>
<?php endif; ?>
私はこれをいくつかのカスタムPHPコードで本質的に日付を部分に分解し、著者名を取り除くことで置き換えます)(これを簡単に追加してテーマに戻すことができます)。
コード化
これが新しいコードです。
<?php if ($submitted) { ?>
<div class="date-in-parts">
<span class="day"><?php echo date("j", $node->created); ?></span>
<span class="month"><?php echo date("M", $node->created); ?></span>
<span class="year"><?php echo date("Y", $node->created); ?></span>
</div><!--//date-in-parts -->
<?php } ?>