Drupal Views モジュールと PHP Views モジュールを使用しています。私が設定したのは、Drupal で作成した関数を呼び出すために PHP ブロックを使用する 5 つのフィールドです。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) を使用しています。
関数 "get_defined_vars()" を var_dump で呼び出しましたが、global キーワードの有無にかかわらず、言及された変数は利用できません。ただし、Drupal ではグローバルな $user などの変数にアクセスできます。