web-dev-qa-db-ja.com

呼び出しDrupal PHP JavaScriptからの関数?

記事のコンテンツを取得し、AJAXを使用してdivのコンテンツを新しい記事のコンテンツに置き換えることで表示しようとしています。これを行うには、非同期のjQueryを作成しますPHP記事の本文を出力するだけのページを呼び出します。ただし、これはPHP関数がDrupal=にアクセスする必要がありますPHP関数は適切に動作するように機能します。PHPファイルはDrupalインストールしますか?

6
Redian

Drupalのデータベースからデータを取得したり、PHPで生成したりするには、完全なレイアウトレンダリングなしでデータを出力するページコールバック(カスタムモジュール内)が必要です。これは、ページのコンテンツを返すのではなく、ページコールバックで直接印刷することで簡単に実行できます。

AJAXでノードを取得する場合は、ノード、ユーザー、分類用語などにJavaScript呼び出し可能エンドポイント(REST、JSON over HTTP)を提供する Services モジュールを使用することもできます。

それでもDrupalの外部で作業する場合は、スタンドアロンスクリプトで、Drupalの_include/bootstrap.inc_を含め、_ drupal_bootstrap() 関数を呼び出してDrupal環境を初期化する必要があります(データベースへの接続、モジュールのロード、セッションなど)。 Drupalから必要なものに応じて、フェーズをbootstrapに選択できます。

_chdir('path/to/drupal/root');
require_once('includes/bootstrap.inc');
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
// Drupal is fully loaded here, you can access everything.
_
7
Pierre Buyle

別のdrupal記事の本文テキストを取得する場合は、ファイルにカスタムphpコードを記述する必要はありません。

ビューを使用すると、次のようになる可能性があります。

  1. drupalビューを作成して、記事の本文テキストを出力として表示します(nodeidをパラメーターとして使用できます)。
  2. ビューデータソースモジュール http://drupal.org/project/views_datasource を使用して、ビュー結果をJSON形式で出力します。

これで、必要なパラメーターを指定してこのビューを呼び出し(ビューページのURLを使用)、記事の本文をJSON形式で取得できます。 JavaScriptでこれを使用して、コンテンツをdiv内に配置できます。

3
Mugunth