बस इस मामले में किसी और के लिए उपयोगी है, इस सवाल को ठोकर मारता है, जैसे कि मैंने जावास्क्रिप्ट को एक ड्रुपल व्यू में संलग्न करने के लिए किया था । D7 और दृश्य 3.7 के संदर्भ में, निम्नलिखित ने मेरे लिए सबसे अच्छा काम किया:
function HOOK_views_pre_render ( &$view ) {
/// check to make sure the view has a classname
if ( $view->display_handler && !empty($view->display_handler->options['css_class']) ) {
$cln = $view->display_handler->options['css_class'];
$cls = 'CLASS GOES HERE';
/// test that the classname contains our class
if ( preg_match('/(^|\s+)' . preg_quote($cls) . '(\s+|$)/i', $cln) ) {
/// build the path to the js, which is local to my module, js/view.js
$sep = DIRECTORY_SEPARATOR;
$dir = rtrim(drupal_get_path('module', 'HOOK'), $sep);
$pth = "{$dir}{$sep}js{$sep}view.js";
drupal_add_js($pth);
}
}
}
यह फायदेमंद था क्योंकि मैं थीम के बजाय अपने मॉड्यूल के भीतर कोड रखना चाहता था - क्योंकि जावास्क्रिप्ट द्वारा लाई गई एन्हांसमेंट का दृश्य उपस्थिति से कोई लेना-देना नहीं था।
नोट: स्पष्ट रूप HOOK
से आपके मॉड्यूल नाम के साथ दोनों स्थानों पर CLASS GOES HERE
प्रतिस्थापित किया जाना चाहिए , और उस वर्ग के साथ भी प्रतिस्थापित किया जाना चाहिए जिसे आप खोज रहे हैं।