drupal 8 – ¿Agregar CSS / JS a una vista particular?

Pregunta:

Tengo problemas para entender cómo adjuntar una biblioteca a las vistas. Quiero que mis activos se incluyan en / foo pero no en / bar. He leído la documentación sobre esto más de una vez y, según tengo entendido, esto se logra mediante el uso de preprocesos, como:

function my_theme_preprocess_page(&$variables) {
  if($variables['is_front']){
    $variables['#attached']['library'][] = 'my_theme/my_library';
  }
}

Soy nuevo en Drupal, así que perdona mi ignorancia heredada, pero ¿qué contiene $ variables? 'is_front' es bastante fácil, pero ¿cómo aplico esto a vistas o tipos de contenido?

Gracias a todos de antemano.

Respuesta:

pero ¿qué contienen $ variables?

Un par de matrices de renderizado y algunos valores que puede usar la plantilla twig. Su mejor opción es verificar la documentación de cada función de preproceso para ver qué se incluye en $ variables. Docs link template_preprocess (& $ var) mejor explicación sobre las funciones de preproceso y la lista predeterminada de funciones de preproceso de plantilla

pero, ¿cómo aplico esto a vistas o tipos de contenido?

Para mí, la mejor opción es su archivo de plantilla twig al incluir esta línea.

{{ attach_library('my_theme/my-library') }}

No importa cuántas veces se 'adjunte', solo se descargará uno (o se agregará). Y solo se agregará si se procesará esta plantilla en particular.

Más información sobre la depuración de Twig está aquí

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım