Trong Drupal 7, tôi có thể sử dụng drupal_add_js
trong tệp template.php của một chủ đề như một theme_preprocess_html(&$vars)
hàm:
drupal_add_js(drupal_get_path('theme', 'mytheme') . '/js/scripts.js',
array(
'group' => JS_THEME,
'preprocess' => TRUE,
'weight' => '999',
));
$vars['scripts'] = drupal_get_js();
Trong Drupal 8, tôi đã thử chuyển đổi điều này bằng cách sử dụng tệp .themeattached
của chủ đề của mình như sau:
$vars['#attached']['js'] = array(
array(
'data' => drupal_get_path('theme', 'mytheme') . '/js/scripts.js',
'options' => array(
'group' => JS_THEME,
'preprocess' => TRUE,
'every_page' => TRUE,
),
),
);
... nhưng điều đó không hoạt động và không có lỗi trong watchdog / console hay nói cách khác.
Theo trang API D8 cho drupal_add_js
:
Không dùng nữa - kể từ Drupal 8.0. Thay vào đó, hãy sử dụng khóa #attached trong mảng kết xuất.
Tuy nhiên, không có nhiều thông tin hơn thế. Có vẻ như drupal_add_css
cũng sẽ sử dụng phương pháp này. Tôi biết vẫn còn sớm cho Drupal 8 nhưng tôi đã hy vọng có được một bước nhảy vọt về điều này.