Chỉ trong trường hợp điều này hữu ích cho bất kỳ ai khác vấp phải câu hỏi này, tìm kiếm như tôi đã làm để đính kèm JavaScript vào Chế độ xem Drupal . Về mặt D7 & Lượt xem 3.7, những điều sau đây phù hợp nhất với tôi:
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);
}
}
}
Điều này có lợi vì tôi muốn giữ mã trong mô-đun của mình, thay vì chủ đề - bởi vì các cải tiến do JavaScript mang lại không liên quan gì đến ngoại hình.
LƯU Ý: Rõ ràng HOOK
nên được thay thế bằng tên mô-đun của bạn, ở cả hai vị trí và CLASS GOES HERE
cũng nên được thay thế bằng lớp bạn đang tìm kiếm.