드루팔 8.0 베타 2로, drupal_add_html_head()
사용되지 않습니다 찬성 #attached
. 오래된 방법은 다음과 같습니다.
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');
}
현재 사용 하고있는 변경 고지 에 따라 #attached
. 따라서 위 코드는 본질적으로 마지막 부분이 다음과 같이 변경됩니다.
$build['#attached']['html_head'][] = [$viewport, 'viewport'];
이것은 작동하지 않으며 워치 독에 오류 메시지가 없습니다. 또한 변경 페이지에서이 퍼팅뿐만 아니라 교환 해봤 $build
으로 $variables
하고 $output
있지만, 그것은 여전히 작동하지 않습니다. 또한 전체를 배열로 시도했습니다.
$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',
),
);
...하지만 작동하지 않았습니다. 내가 뭘 잘못하고 있는지 잘 모르겠습니다. 작동 해야하는 것 같습니다.
최신 정보
다음은hook_page_attachments_alter
D8 베타 2에없는 것을 사용 하는 작업 코드 입니다 .
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'];
}
유일한 문제는 이제 코어의 뷰포트 태그를 덮어 쓰지 않으므로 사용자 정의 태그와 코어에 붙어 있다는 것입니다. 어떻게 처리해야합니까, 아니면 내 태그가 코어를 덮어 써야합니까?