2011-01-18 5 views
0
にモジュール内のビューをロードするためにhook_views_apiを使用する方法

私module.views.incと.moduleファイルがdrupalの

私は.views.incを呼び出すためにhook_views_api()を使用したいと同じフォルダに配置されていますファイル 次のコードは機能しません function module_name_views_api(){ return array( 'api' => 2, 'path' => array('module','module_name'), ); }

アイデアはありますか?

答えて

3

yourmodule.views.incとyourmodule.moduleが同じフォルダにある場合は、パス部分が必要ではないと思います。次の例は、私のモジュールの1つで動作します。

function mymodule_views_api() { 
    return array('api' => 2.0); 
} 
+0

あなたは*使用する必要はありませんが、私の意見では、ビューデータを分離するために使用する必要があります。たとえば、Viewsモジュールに関連するファイルをuc_product.moduleのように "views"というディレクトリに置くことができます(このように使用してください:... '' path '=> drupal_get_path(' module '、' mymodule ' )。 '/ views'、 '...)。 – Sk8erPeter

7

ビューコードをモジュール内の別のディレクトリに保存する場合は、パスのみを使用してください。以下の例は、 "mymodule/includes/views"のビューコードを読み込みます。モジュールディレクトリをきれいに保つ良い方法です。

/** 
* Implements hook_views_api(). 
*/ 
function mymodule_views_api() { 
    return array(
    'api' => 2.0, 
    'path' => drupal_get_path('module', 'mymodule') . '/includes/views', 
); 
} 
+0

+1:おっと、ちょうど他の答えの下で似たような内容のコメントを書きました。私はあなたに完全に同意します、ビューデータは分離する必要があります。 – Sk8erPeter