Ich habe dieses Upgrade eines meiner Contrib-Themen für Drupal 8 durchgeführt, da ich jquery.once für anonyme Benutzer haben wollte. Folgendes habe ich getan, was großartig funktioniert:
In herchel.libraries.yml
herchel-corescripts:
version: VERSION
js:
js/scripts.js: {}
dependencies:
- core/jquery
- core/drupal.ajax
- core/drupal
- core/drupalSettings
- core/jquery.once
Dann in der Datei herchel.theme Ihres Themas .
function herchel_preprocess_page(&$vars, $hook) {
// Render the library as laid out in herchel.libraries.yml
$libraries['#attached']['library'][] = 'herchel/herchel-corescripts';
\Drupal::service('renderer')->renderRoot($libraries);
}
Beachten Sie auch den Einzug für den YML-Code. Obwohl es noch nicht so gut dokumentiert ist, können Sie sich dieses Problem und sein Änderungsprotokoll ansehen.
Ersetzen Sie hook_library_info () durch die Datei * .libraries.yml
Beachten Sie, dass Sie im obigen Code auch die Datei "scripts.js" eines theoretischen Themas sehen, diese jedoch möglicherweise nicht benötigen. In meinem Thema verwendet jquery den benutzerdefinierten Code.
Dieser Code ist wahrscheinlich auch eine gute Referenz für die YML-Bits. Beachten Sie, dass in beiden Fällen version
auf dem gleichen Niveau wie dependencies
.
Ich habe auch eine Liste der Drupal 8-Probleme erstellt, auf die ich gestoßen bin und an denen ich mit meinem D8-Upgrade teilgenommen habe.
Aktualisieren:
Ich habe den Code behoben, auf den wir dieses Problem gestoßen sind : Ersetzen Sie # angehängte Bibliotheksarraywerte durch Zeichenfolgen mit Provider-Namespace
Beachten Sie Folgendes:
$libraries['#attached']['library'][] = array('herchel', 'herchel-corescripts');
dies
$libraries['#attached']['library'][] = 'herchel/herchel-corescripts';
Ich habe getestet und die Fehler sind verschwunden. :) :)
version
sie übereinstimmtdependencies