Views' API

モジュールは hook_views_data() の実装によって、お互いに自身のテーブルを Views のリレーションシップ、フィールド、フィルター、並べ替えの基準、引数に関連付けすることができます。Views は必要があるたびにこのフックをコールし、データは互いに集約されキャッシュされます。既存のデータの変更や、他のモジュールのハンドラの変更、そして自身のハンドラを他のモジュールのテーブルに追加したりするには、hook_views_data_alter() を使います。

モジュールは hook_views_handlers() 、そして hook_views_plugins() を実装することで、ディスプレイのタイプ、スタイル、行スタイル、引数のデフォルトハンドラ、バリデータなどを新たに作成することができます。

これらのフックは「(モジュール名).views.inc」という名前のファイルの中に記述します。このファイルは必要に応じて自動的にインクルードされるため、hook_init や他のメソッドから読み込ませるよう記述する必要はありません。このファイルには hook_views_data、 hook_views_data_alter()、 hook_views_plugins()、 hook_views_handlers() やその他のフック、モジュールが使用する付随データなど、Views がアクティブなときに使用するものを記述するようにします。モジュールで提供するすべてのハンドラとプラグインは別々の .inc ファイルに記述してください。

There are two similar files, MODULENAME.views_default.inc and MODULENAME.views_convert.inc which contain default views and views 1 to views 2 convert helpers, respectively.

hook_views_api()

Views にファイルを読み込ませるには、モジュールのメインの .module ファイルで hook_views_api() を実装することが必要です。このフックで次の内容の配列を返してください。

api

これは必ず記述してください。モジュールが動作する最新の API バージョンを記述してください。それが古いバージョンの場合、Views はモジュールのインテグレーションを無視します。モジュールの機能は統合されませんが、これによりコードのクラッシュを防ぐことができます。

使用中の Views のバージョンを確認するには views_api_version() ( views.module のトップに実装しています)をコールしてください。バージョンは 2.0 から始まっています。Views のハンドラ、プラグインその他、API まわりにおいて、変更はしばしば行われています。(バージョンアップがどの程度メジャーかによって、 .001, .01, .1 といった表記で上がっていきます。) views_api_version() は Views 2.0-rc2 で導入されたので、それ以前のバージョンにはありません。怪しい場合は function_exists() を使用してください。

モジュールが 2.000, 2.001, 2.002, などのバージョンを実装していたとしたら、それらは基本的に互換性があり、Views は問題なく動作することがあります。Your module can request that it won't work with any version older than a given version, however. Views will determine, itself, if a newer version will work.

path

もし *.views*.inc ファイルを .module とは別のディレクトリに起きたい場合は、ここでフルパスを指定してください。たとえば drupal_get_path('module', 'yourmodulename') . '/includepath' のように記述します。

template path

モジュールが Views で使用するテンプレートファイルを配置するディレクトリのパスです。ここでパスを指定すると、Views は自動的にこの中のテンプレートを使用するようになります。通常の Views のテンプレートファイルと同じ命名規則が使用できます。

原文url: 
/help/views/api
タグ: 
コア: 
Drupal7