1

次のようなリモートURLからのデータを表示しているカスタムdrupal 7モジュールにiframeがあります:-

$element[$delta]['#markup'] = '<iframe class="page_flipper" src="someURL"></iframe>';

うまく機能していますが、別のスクリプト/プログラムの出力をこの iframe に表示したいと考えています。このプログラムは、HTML、CSS、JavaScript、および PHP のコードを組み合わせたものです。つまり、そのプログラムを上記の iframe に統合したいと考えています。どうすればこれを行うことができますか?

次のように、iframe の src 属性で相対パスを使用してプログラムを指定しようとしました:-

$element[$delta]['#markup'] = '<iframe class="page_flipper" src="mydir/index.php"></iframe>';

しかし、それは機能せず、drupal は iframe にこのエラーを表示します"The requested page "/<site_name>/node/myFlip/index.php" could not be found.。ありがとう

4

2 に答える 2

1

以下のスニペットでうまくいくでしょうか?

// Get the path to the module..
$module_path = drupal_get_path('module', 'MY_MODULE');

// Prepend with the Drupal root..
$path = DRUPAL_ROOT . '/' . $module_path . '/mydir/index.php'; 

// Use..
$element[$delta]['#markup'] = 
  "<iframe class='page_flipper' src='$path'></iframe>";

PHP スクリプトを含むフォルダーを Drupal インストールのルートに配置する方が安全だと思います。次に、次の方法でアクセスできます。

global $base_url;
$path = $base_url . '/ext/index.php';
于 2012-10-04T08:08:19.257 に答える
1

Drupal の drupal_get_path() および url() 関数を使用して、ファイルへの絶対 URL を作成できます。

$iframe_url = url(drupal_get_path('module','MYMODULE').'/mydir/index.php',array('absolute'=>true));

$element[$delta]['#markup'] = "<iframe class='page_flipper' src='$iframe_url'></iframe>";
于 2012-10-04T17:04:04.580 に答える