将日期和作者添加到node.tpl.php

时间:2011-06-24 17:55:11

标签: templates drupal drupal-6 themes drupal-theming

在下面的代码中,我想显示创建的日期,作者并将它们链接起来,但没有任何内容,因为它们没有显示。我相信我需要做$node->而不是那一行,还没有找出确切的代码。或者如果我需要在Drupal 6安装中的Views下更改。提前谢谢!

<?php if($node->type == 'blog'): ?>
  <div class="blog-page">
    <div class="title-post">
        <div class="top-image">
            <?php print $node->field_image[0]['view'] ?>
        </div><!--TOP-IMAGE-->
        <p>Posted on <a href="<?php $row['path'] ?>">?php $row['created'] ?></a>, by 
        <a href="<?php print url('blog/author/'.$row['uid']) ?>"><?php print $row['name'] ?></a></p>
    </div>
    <div class="content-page">
        <?php print $node->content['body']['#value'] ?>
    </div>
</div>
<?php else: ?>
<?php print $content ?>
<?php endif ?>

1 个答案:

答案 0 :(得分:1)

Drupal有一个节点对象,其中包含大量相关信息。基本上,如果您需要使用作者,日期,标题等信息,您可以通过打印节点对象轻松确定代码。

echo '<pre>';
print_r($node);
echo '</pre>';

为了简单起见,我们可以说输出这样的东西:

stdClass {

  nid = 3
  content = stdClass {
           raw = " ... "
           clean = " ... "
        }

}

要在模板中输出这些信息,您可以按以下方式编写。

表示没有子类的字段:

<?php print $node->nid ?>

对于具有子类的字段:

<?php print $node->content['raw'] ?>

这有意义吗?在你完成这个之后,你可以在编写drupal模板时弄清楚任何事情。

所以,如果你想构建一个网址,你只需将其链接起来:

<?php
  $nid = $node->nid;
  $uri = "some/path".$nid;
  print $uri;
?>