drupal 8 – Agregar atributo a html y cuerpo

Pregunta:

Necesito agregar class="no-trans" al cuerpo, también editar la etiqueta html. ¿Cómo puedo editar los {{ html_attributes }} y {{ body_attributes }} ?

mi html.html.twig

<!DOCTYPE html>
<html{{ html_attributes }}>
  <head>
    <head-placeholder token="{{ placeholder_token|raw }}">
    <title>{{ head_title|safe_join(' | ') }}</title>
    <css-placeholder token="{{ placeholder_token|raw }}">
    <js-placeholder token="{{ placeholder_token|raw }}">
  </head>
  <body{{ body_attributes }}>

Respuesta:

La variable de atributos es un objeto que tiene algunos métodos disponibles. Uno de ellos es addClass() , que le permite agregar clases adicionales desde una cadena o matriz.

<body{{ attributes.addClass('no-trans') }}>

Para agregar atributos arbitrarios a la etiqueta html, puede usar el método setAttribute() . Se pueden establecer varios atributos encadenando llamadas adicionales a setAttribute() :

<html{{ html_attributes.setAttribute('attrName1', 'attr1Value').setAttribute('attr2Name', 'attr2Value') }}>

Eche un vistazo a la documentación de la comunidad sobre el uso de atributos en plantillas .

También puede mirar la plantilla node.html.twig en el tema con clase para ver un ejemplo de addClass() agregar una matriz de clases con addClass() :

{%
  set classes = [
    'node',
    'node--type-' ~ node.bundle|clean_class,
    node.isPromoted() ? 'node--promoted',
    node.isSticky() ? 'node--sticky',
    not node.isPublished() ? 'node--unpublished',
    view_mode ? 'node--view-mode-' ~ view_mode|clean_class,
  ]
%}
<article{{ attributes.addClass(classes) }}>

Leave a Comment

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

Scroll to Top

web tasarım