Mit Drupal 8.0 Beta2 wurde zugunsten von drupal_add_html_head()
veraltet#attached
. Der alte Weg war also:
function MYTHEME_page_build(&$page) {
$viewport = array(
'#type' => 'html_tag',
'#tag' => 'meta',
'#attributes' => array(
'name' => 'viewport',
'content' => 'width=device-width, initial-scale=1.0, maximum-scale=2.0, minimum-scale=0.55, user-scalable=yes',
),
);
drupal_add_html_head($viewport, 'viewport');
}
Basierend auf dem Änderungshinweis, den Sie jetzt verwenden #attached
. Der obige Code ist also im Wesentlichen derselbe, wobei der letzte Teil geändert wurde zu:
$build['#attached']['html_head'][] = [$viewport, 'viewport'];
Dies funktioniert jedoch nicht und keine Fehlermeldungen im Watchdog. Ich habe auch diese auf einer Seite ändern sowie Swapping versucht setzen $build
mit $variables
und $output
aber es funktioniert immer noch nicht. Außerdem habe ich das Ganze als Array ausprobiert:
$build['#attached']['html_head'][] = array(
'#type' => 'html_tag',
'#tag' => 'meta',
'#attributes' => array(
'name' => 'viewport',
'content' => 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no',
),
);
... aber das hat auch nicht funktioniert. Ich bin nicht sicher, was ich falsch mache, scheint, dass es funktionieren sollte.
Aktualisieren
Hier ist Arbeitscode, der verwendet, hook_page_attachments_alter
der nicht in D8 Beta 2 enthalten ist, da er nur für dev festgelegt wurde.
function MYTHEME_page_attachments_alter(array &$page) {
$viewport = array(
'#type' => 'html_tag',
'#tag' => 'meta',
'#attributes' => array(
'name' => 'viewport',
'content' => 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no',
),
);
$page['#attached']['html_head'][] = [$viewport, 'viewport'];
}
Das einzige Problem ist jetzt, dass das Ansichtsfenster-Tag des Kerns nicht überschrieben wird, sodass ich mit meinem benutzerdefinierten Tag und den Kerns festgefahren bin. Sie sind sich nicht sicher, wie Sie damit umgehen sollen, oder sollte mein Tag den Kern überschreiben?