2

我正在使用module_invoke()包含一个块,我需要在这个块中读取包含在我的父内容类型页面中的值。那么如何$node从视图中获取我的块中的变量?

我正在使用的代码:

<?php
    $block = module_invoke('my_blocks', 'block', 'view', 7);
    print $block['content'];
?>

现在我需要访问$node“my_blocks”并且变量为空。我该怎么做才能得到它?

非常感谢您的帮助!

问候

4

2 回答 2

1

对drupal方式的小修复:


    function InMODULE_or_InTHEME_get_current_node() {
      if ((arg(0) == 'node') && (is_numeric(arg(1))) && (!arg(2))) return node_load(arg(1));
      return null;
    }

点评:node_load 缓存节点,所以不用担心性能。
“!arg(2)”正在检查您是否处于节点编辑模式(或类似模式)。

于 2010-01-26T23:34:24.637 回答
1

我认为上下文模块或混沌工具可以帮助解决这个问题,但这是我最近做同样事情的方式:

function myModule_get_current_node() {
    $path_arr = explode('/', $_GET['q']);
    if ($path_arr[0] == 'node') $result = node_load($path_arr[1]);
    else $result = null;
    return $result;
}
于 2010-01-26T23:22:48.500 回答