0

我正在使用 Drupal 视图模块和 PHP 视图模块。我设置的是 5 个字段,它们使用 PHP 块来调用我在 Drupal 中创建的函数。PHP 代码确实可以工作并显示我想要的数据。

有“可用变量”可用于可以使用 PHP 代码的区域,在我的情况下,它用于“输出代码”。例如,您有 $view、$handler、$static、$row 等。

我试图访问所有这些,我得到一个 500 内部错误,或者有时我什么也得不到。错误日志指向第 122 行的“views_php/plugins/views/views_php_handler_field.inc”。我查看了该文件,代码包含以下行:

$function($this->view, $this, $this->php_static_variable);

我试过这样调用代码:

<?php
global $view;
print_r($view);
?>

注意我试过没有全局线。

如何在 PHP 视图中访问这些变量?我正在使用 Drupal 6 和最新版本的 PHP Views 模块,即 views_php 6.x-1.x-dev。

我用 var_dump 调用了函数“get_defined_vars()”,无论有没有 global 关键字,我都无法使用提到的变量。但是,我可以访问 Drupal 中的全局变量,例如 $user。

4

1 回答 1

0

在视图上,您​​有预览选项。我大部分时间都用它来测试我的结果。即使您收到警告框说您拥有500 internal error,请转到设置该视图的页面(路径)。您应该看到$view变量的输出。注意,$view变量显示的数据与列相关。我正在寻找的是有关当前位置(行)的信息。您需要使用变量自己设置此代码$static,它将数据从一行保留到另一行,以便您可以手动跟踪您在数组中的位置或数据位置。

我如何使用静态来确定我在当前位置的位置以及接下来需要在哪里的示例:

if (!$static['isInitial']){
    /* Should only enter this condition on the first element.
     IsInitial determines this. */

    //Count the total amount of issues in Redmine right now.
    $static['totalRedmineIssues'] = count($getValue);

    $index = 0;
    $static['currentIndex'] = $index;
    $static['isInitial'] = true;

    print_r($static);

} else {
    $static['currentIndex'] = $static['currentIndex'] + 1;
    $index = $static['currentIndex'];
}
于 2012-09-04T14:10:42.393 回答