Drupal 7:如何从组件的预处理函数中检索节点的内容类型?
Drupal 7: How do I retrieve a node's Content Type from within a component's prepocess function?
我有一个组件需要我获取该组件所在节点的内容类型。我看到有一个函数可以帮我获取它:
node_type_get_name($node)
但是,当我在组件内部使用这个函数时pre-process hook,例如:
my_component_preprocess_my_component_theme(&$variables, $node) {
dpm(node_type_get_name($node));
}
我一无所获。
如果我 dpm($node);
我得到的是组件的标题,而不是节点。
谁知道我如何检索节点的 content-type?
您可以像这样加载当前节点:
<?php
$node = menu_get_object();
if ( !empty($node) ) {
print "Have node";
}
?>
因此,您将加载完整节点并可以检查其类型 ($node->type
) 以及您需要的任何其他内容。
当然,如果您没有节点,则意味着当前页面不是节点(可能是视图或某些自定义页面...)。
我有一个组件需要我获取该组件所在节点的内容类型。我看到有一个函数可以帮我获取它:
node_type_get_name($node)
但是,当我在组件内部使用这个函数时pre-process hook,例如:
my_component_preprocess_my_component_theme(&$variables, $node) {
dpm(node_type_get_name($node));
}
我一无所获。
如果我 dpm($node);
我得到的是组件的标题,而不是节点。
谁知道我如何检索节点的 content-type?
您可以像这样加载当前节点:
<?php
$node = menu_get_object();
if ( !empty($node) ) {
print "Have node";
}
?>
因此,您将加载完整节点并可以检查其类型 ($node->type
) 以及您需要的任何其他内容。
当然,如果您没有节点,则意味着当前页面不是节点(可能是视图或某些自定义页面...)。