1

javascriptファイルを特定のビューに追加するためのベストプラクティスは、プリプロセッサとdrupal_add_jsを使用することです。私が追加しようとしているのはFacebookのアプリスクリプトです。私はスクリプトの作品を知っている、私はちょうどビューのヘッダーにタグでそれを追加してテストしたので。Drupal 7テンプレートビュー前処理追加javascript:何が間違っていますか?

以下のテーマのtemplate.phpファイルに追加したコードは私にとってはうまくいきません。検索でわかる限り、これは機能するはずです(明らかにTHEME_NAMEとVIEW_NAMEを実際の名前に置き換えます)。しかし、jsファイルは追加されていません。また、私のテーマの.infoファイルのすべてのページに追加するだけで、すべてのページに追加できるようになるかどうかを確認しましたが、運はありません。

function THEME_NAME_preprocess_views_view(&$vars) { 
    $view = $vars['view']; 

    if ($view->name == 'VIEW_NAME') { 
     drupal_add_js(drupal_get_path('theme', 'THEME_NAME') . '/js/facebook.js'); 
    } 
} 

答えて

0

各ビューの前処理をコールするだけです。ヘルプをご覧になるにはlink

function bartik_preprocess_views_view(&$vars) { 
    $function_name = __FUNCTION__ . '__' . $vars['view']->name; 
    if (function_exists($function_name)) { 
    $function_name($vars); 
    } 
} 

function bartik_preprocess_views_view__test(&$vars) { 
    $view = $vars['view']; 
    if ($view->name == 'test') { 
     drupal_add_js(drupal_get_path('theme', 'bartik') . '/js/facebook.js'); 
    } 
} 
+0

これはうまくいきました。あなたが提供したリンクのアドバイスに続いて、私のテーマに問題のビューのテンプレートも含まれています(必要な回避策のようです)。これが違いを生み出すかどうかはテストしませんでしたが、解決策が働いています。 –

関連する問題