Me encontré con esta actualización de uno de mis temas de contribución a Drupal 8, ya que quería jquery.once para usuarios anónimos. Esto es lo que hice, que funciona muy bien:
En herchel.libraries.yml
herchel-corescripts:
version: VERSION
js:
js/scripts.js: {}
dependencies:
- core/jquery
- core/drupal.ajax
- core/drupal
- core/drupalSettings
- core/jquery.once
Luego, en el archivo herchel.theme de tu tema .
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);
}
Tenga en cuenta también la sangría para el código YML. Aunque todavía no está bien documentado, puede echar un vistazo a este problema y su registro de cambios.
Reemplace hook_library_info () por el archivo * .libraries.yml
Tenga en cuenta que también verá el archivo "scripts.js" de un tema teórico en el código anterior, pero es posible que no lo necesite. En mi tema, eso es lo que usa jquery para llamar a un código personalizado.
Este código es probablemente una buena referencia también para los bits YML. Tenga en cuenta que en ambos casos version
está al mismo nivel que dependencies
.
También hice una lista de los problemas de Drupal 8 que encontré y participé con mi actualización D8.
Actualizar:
He arreglado el código, nos encontramos con este problema: Reemplace los valores de la matriz de biblioteca # adjunta con cadenas espaciadas por nombres de proveedor
Tenga en cuenta esto:
$libraries['#attached']['library'][] = array('herchel', 'herchel-corescripts');
contra esto
$libraries['#attached']['library'][] = 'herchel/herchel-corescripts';
Lo probé y los errores desaparecieron. :)
version
para que coincidadependencies