如何显示节点创建日期


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') ?> 

但是显示的日期是更新的日期,而不是创建的日期。

如何显示节点的创建日期?

Answers:


18

节点对象上有一个称为“创建”的属性。这就是您所追求的,并且可以与使用“ changed”完全相同的方式使用。

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

是!有效。我用了这个<?php print format_date($ node-> created,'article'); ?>非常感谢。
杰里米

2

第一步

第一步是在以下位置的内容类型编辑页面上启用“显示作者和日期信息”:

/ admin / structure / types / manage / [您的custom_content_type]

...如下所示:

在此处输入图片说明

获取数据

现在,我们可以在node.tpl.php文件中检索此数据,并更改发布日期的主题。理想情况下,这将用于自定义节点模板,而不是主node.tpl.php文件。就我而言,我有一个名为Blog的内容类型,我只希望帖子日期看起来像这样的Blog帖子。我将node.tpl.php(位于主题文件夹中)复制并重命名为node--blog.tpl.php。注意“双破折号”,这是Drupal中的新功能

查找要替换的代码

现在在我的新节点--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 } ?>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.