Respuestas:
De diferentes fuentes encontré una forma diferente de agregar metaetiquetas en Drupal 8, compilando así todas las formas.
Creo que se ha hecho la misma pregunta en el desbordamiento de estaca: agregue metaetiqueta a la cabeza en drupal 8 y si ve la respuesta de @Danielishko , Él ha proporcionado el siguiente código,
Simplemente agregue el siguiente código en su THEME.theme
archivo, borre el caché y estará listo para comenzar. Nota: function theme_preprocess_html(&$variables) {...}
ya debería estar allí en su archivo .theme, por lo tanto, no cree uno nuevo, de lo contrario, se producirá un error.
function theme_preprocess_html(&$variables) {
$xuacompatible = [
'#tag' => 'meta',
'#attributes' => [
'http-equiv' => 'x-ua-compatible',
'content' => 'ie=edge',
],
];
$variables['page']['#attached']['html_head'][] = [$xuacompatible, 'x-ua-compatible'];
}
Imagen de salida:
Se hizo otra pregunta sobre este tema: Cómo configurar / eliminar las metaetiquetas de drupal 8 .
Si leyó la pregunta en el enlace mencionado anteriormente, el interlocutor ha mencionado que al usar el html.html.twig
archivo de plantilla puede agregar metaetiquetas directamente a<head>....</head>
html.html.twig
archivo que puede encontrar core/modules/sytem/templates/html.html.twig
, puede copiar y pegar eso en la carpeta de plantillas de su tema y su tema usará ese.
desde 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 }}">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
</head>
<body{{ attributes }}>
{#
Keyboard navigation/accessibility link to main content section in
page.html.twig.
#}
<a href="#main-content" class="visually-hidden focusable">
{{ 'Skip to main content'|t }}
</a>
{{ page_top }}
{{ page }}
{{ page_bottom }}
<js-bottom-placeholder token="{{ placeholder_token|raw }}">
</body>
</html>
Imagen de salida:
NOTA: Esta es mi propia lógica y traté de encontrar referencias para esto, no encontré ninguna referencia al respecto, excepto una línea proporcionada por el interlocutor en el enlace anterior, pero dado que editamos el archivo de plantilla para agregar otras cosas, ¿por qué no podemos usar para agregar? Etiquetas PROPORCIONE COMENTARIOS SI ESTA NO ES UNA MANERA CORRECTA DE HACERLO, también será una experiencia de aprendizaje para mí, gracias.
Si hace referencia a este tutorial sobre: Agregar nuevas etiquetas HTML en Drupal 8 , ha descrito la forma general de agregar etiquetas al encabezado en Drupal 8. He modificado según sus requisitos. Puede consultar este tutorial: Drupal 8: cree un módulo simple sobre cómo desarrollar un módulo simple en Drupal 8, y el siguiente código irá en su archivo module_name.module, eso es todo.
para module_name.module
archivo,
<?php
/**
* Implements hook_page_attachments().
*/
function module_name_page_attachments(array &$page) {
$xuacompatible = [
'#tag' => 'meta',
'#attributes' => [
'http-equiv' => 'x-ua-compatible',
'content' => 'ie=edge',
],
];
$page['#attached']['html_head'][] = [$xuacompatible, 'x-ua-compatible'];
}
Creo que este método y el método descritos en la primera opción son bastante iguales.
No estoy seguro, cómo utilizar este enfoque, traté de encontrar. Aquí estoy mencionando porque cuando viene el punto de agregar metaetiquetas, este módulo siempre aparece.
Creo que este enfoque deberías usarlo. En la respuesta aceptada, describió la forma del módulo y puede usar el módulo Metatag para eso. Este módulo tiene módulos dependientes Token & Ctools , que es algo muy común. En esa respuesta se ha descrito todo el procedimiento, por lo que no estoy mencionando aquí.
Al agregar contenido a un controlador, bloque, entidad, campo u otros lugares, no necesita crear un enlace.
Usted puede agregar la etiqueta meta directamente a cualquier tema o elemento de render ( #theme
, #type
, #markup
):
$build['username'] = [
'#theme' => 'username',
'#account' => \Drupal::currentUser(),
'#attached' => [
'html_head' => [
[
[
'#tag' => 'meta',
'#attributes' => [
'name' => 'foo',
'content' => 'bar',
],
],
'my_module_foo',
],
],
],
];
Cuando se procesa, la etiqueta sube al nivel de la página y se agrega a la <head>...</head>
sección.
En un gancho de preproceso que puede conectar al nivel superior de $variables
, consulte /drupal//a/288989/47547
Puede y debe usar el gancho alter para adjuntos de página en su tema.
function THEME_page_attachments_alter(array &$page) {
$page['#attached']['library'][] = 'theme_name/main';
}