In Drupal 7 kann ich drupal_add_js
die Datei template.php eines Themas als theme_preprocess_html(&$vars)
Funktion verwenden:
drupal_add_js(drupal_get_path('theme', 'mytheme') . '/js/scripts.js',
array(
'group' => JS_THEME,
'preprocess' => TRUE,
'weight' => '999',
));
$vars['scripts'] = drupal_get_js();
In Drupal 8 habe ich versucht, dies mithilfe attached
der .theme- Datei meines Themas als solche zu konvertieren :
$vars['#attached']['js'] = array(
array(
'data' => drupal_get_path('theme', 'mytheme') . '/js/scripts.js',
'options' => array(
'group' => JS_THEME,
'preprocess' => TRUE,
'every_page' => TRUE,
),
),
);
... aber das hat nicht funktioniert und es gab keine Fehler im Watchdog / in der Konsole oder auf andere Weise.
Laut der D8-API-Seite für drupal_add_js
:
Veraltet - ab Drupal 8.0. Verwenden Sie stattdessen den Schlüssel #attached in Render-Arrays.
Es gab jedoch nicht viel mehr Informationen darüber. Es scheint, dass drupal_add_css
auch diese Methode verwendet wird. Ich weiß, dass es für Drupal 8 noch sehr früh ist, aber ich hatte gehofft, einen Sprung darauf zu machen.