作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
node.tpl.php 默认变量
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
$title: 节点的标题,已过滤。
$content:节点条目数组。使用render($content),可以全部输出;使用 render($content['field_example'])可以输出一个子集;使用hide($content['field_example'])可以临时隐藏给定元素的输出。
$user_picture: 节点作者的头像,来自于user-picture.tpl.php。
$date: 格式化的创建日期。如果想对这个变量重新格式化,那么可以在预处理函数中,对$created使用format_date()函数,并向其传递合适的参数。
$name: 节点作者用户名的格式化输出,这里使用了theme_username()。
$node_url: 当前节点的直接URL。
$display_submitted: 布尔值,用来指示是否显示提交信息。
$submitted: 提交信息,在template_preprocess_node()中基于$name和$date生成。
$classes: CSS类字符串。可以在预处理函数中,通过修改$classes_array的值,来修改$classes的值。默认值有:node,node-[type],node-teaser,node-preview,node-promoted,node-sticky,node-unpublished。注意,这里的node-[type]表示当前节点类型,如果当前节点为博客,那么这里就是"node-blog"。
$title_prefix (array): 在模板的主标题标签前面显示的内容,注意它是数组结构,在模板中输出时,使用render()输出。
$title_suffix (array): 在模板的主标题标签后面显示的内容,注意它是数组结构,在模板中输出时,使用render()输出。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
$node:完整的节点对象。它里面包含的数据可能并不安全。
$type:节点类型,例如:article、page、blog等等
$comment_count:该节点上面的评论数量。
$uid: 节点作者的用户ID。
$created: 节点的发布时间,格式为Unix时间戳。
$classes_array: 一个数组,里面包含了CSS类属性的值。$classes就是基于$classes_array生成的。
$zebra: 斑马线,可能的值有:"even"或"odd"。用在摘要列表中。
$id: 节点的位置。每输出一次,这个变量加一。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
$view_mode:查看模式,比如:'full'、'teaser'等等。
$teaser:摘要状态的标记,等价于$view_mode == 'teaser'。
$page: 标记,用来表示当前是否是完整页面状态。
$promote: 标记,用来表示当前节点是否推荐到了首页。
$sticky: 标记,用来表示当前节点是否被置顶。
$status: 标记,用来表示当前节点是否已发布。
$comment: 当前节点的评论设置的状态。
$readmore: 标记,当摘要内容HOLD不住正文内容时,为TRUE。
$is_front: 标记,用来表示是否显示在首页。
$logged_in: 标记,用来表示当前用户是否是登录用户。
$is_admin: 标记,用来表示当前用户是不是管理员。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
对于附加在该节点上面的每个字段实例,都会为其定义一个对应的变量。例如,$node->body变成了$body。当需要访问一个字段的原始数据时,推荐大家使用这些变量,如果从$node变量中直接获取,此时还需要考虑字段上面的语言,例如,$node->body['en'];这样就会覆写掉前面设置的语言协定规则。
有关字段变量的生成,可以参看函数field_attach_preprocess,在这个函数中,去掉了字段上面的语言信息。代码如下:
$variables[$field_name] = isset($entity->{$field_name}[$langcode]) ? entity->{$field_name}[$langcode] : NULL;
这些变量来自于:
template_preprocess()
template_preprocess_node()
template_process()