ノードの作成日を表示する方法


9

format_date()テンプレートファイルでを使用して、作成された日付を出力しました。

私はこのチュートリアルhttp://webwash.net/tutorials/handling-date-and-time-drupal-7に従いました

日付形式「d、j M y」と日付タイプ「article」を作成し、コードから呼び出しました。

<?php print format_date($node->changed, 'article') ?> 

ただし、表示される日付は、作成された日付ではなく、更新された日付です。

ノードの作成日を表示するにはどうすればよいですか?

回答:


18

「作成された」と呼ばれるノードオブジェクトのプロパティがあります。これはあなたが求めているものであり、「変更」を使用したのとまったく同じ方法で使用できます。

<?php print format_date($node->created, 'article'); ?>

はい!動いた。私はこれを使用しました<?php print format_date($ node-> created、 'article'); ?>どうもありがとう。
ジェレミー

2

最初のステップ

最初のステップは、次のコンテンツタイプ編集ページで「著者と日付情報の表示」を有効にすることです。

/ 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 } ?>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.