我有一种情况,我需要满足两个不同的条件才能将给定节点的标题打印到页面上(下面的这一位来自我的page.tpl):
<?php if
($title && ($user->uid == 1) || $title && ($page['#object']['type']['blog_post'])
/* is the node a full blog post? */
): ?>
我想仅在用户登录时显示节点的标题。这是有效的,但我不知道如何显示我的特定节点类型的标题。显然我正在钻进阵列的错误部分。但我似乎无法弄清楚阵列的哪一部分能满足我的条件。
谢谢!
答案 0 :(得分:2)
当diaplayed page为node时,您可以在page.tpl.php中使用$ node变量。节点类型存储在$ node-&gt;类型中。但仅适用于节点页面。类型&#39; blog_post&#39;的节点页面显示完整的博客文章。
<?php if(isset($node) && $node->type == 'blog_post');?>
<?php print $title; ?>
<?php endif?>
在page.tpl中,只会在您的类型的完整节点上打印标题。
答案 1 :(得分:0)
您可以使用node.tpl.php来处理特定的节点参数, 您可以在/modules/node/node.tpl.php中找到node.tpl.php
节点模板为您提供了用于检查该节点的视图模式($ view_mode)和$ title的参数。
P.S。,如果你想检查你的用户是否已登录,drupal会为你提供一个函数user_is_logged_in()