1

我有一种情况,我需要满足两个不同的条件才能将给定节点的标题打印到页面上(下面的这一点来自我的 page.tpl):

<?php if 
($title && ($user->uid == 1) || $title && ($page['#object']['type']['blog_post'])
/* is the node a full blog post? */
): ?>

我只想在用户登录时显示节点的标题。这是有效的,但我不确定如何显示我的特定节点类型的标题。显然我正在深入到阵列的错误部分。但我似乎无法弄清楚阵列的哪一部分将满足我的条件。

谢谢!

4

2 回答 2

2

当显示的页面是节点时,您可以在 page.tpl.php 中使用 $node 变量。节点类型存储在 $node->type 中。但仅适用于节点页面。'blog_post' 类型的节点页面显示完整的博客文章。

<?php if(isset($node) && $node->type == 'blog_post');?>
  <?php print $title; ?>
<?php endif?>

在 page.tpl 将仅在您类型的完整节点上打印标题。

于 2012-05-12T01:35:17.300 回答
0

您可以使用 node.tpl.php 来处理特定的节点参数,您可以在 /modules/node/node.tpl.php 中找到 node.tpl.php

节点模板为您提供用于检查该节点的视图模式 ($view_mode) 和 $title 的参数。

PS,如果你想检查你的用户是否登录,drupal 为你提供了一个函数 user_is_logged_in()

于 2012-05-11T13:40:17.733 回答