Dengan Drupal 8,0 beta2, drupal_add_html_head() telah usang dalam mendukung #attached. Jadi cara lama adalah:
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');
}
Berdasarkan pemberitahuan perubahan yang sekarang Anda gunakan #attached. Jadi kode di atas pada dasarnya sama dengan bagian terakhir yang berubah menjadi:
$build['#attached']['html_head'][] = [$viewport, 'viewport'];
Ini tidak berfungsi dan tidak ada pesan kesalahan di pengawas. Saya juga mencoba meletakkan ini di halaman alter serta bertukar $builddengan $variablesdan $outputtetapi masih tidak berhasil. Selain itu, saya mencoba semuanya sebagai array:
$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',
),
);
... tapi itu tidak berhasil juga. Saya tidak yakin apa yang saya lakukan salah, sepertinya itu harus berfungsi.
Memperbarui
Berikut adalah kode kerja yang menggunakan hook_page_attachments_alteryang tidak ada dalam D8 Beta 2 karena hanya berkomitmen untuk dev.
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'];
}
Satu-satunya masalah sekarang adalah bahwa tag viewport core tidak ditimpa jadi saya terjebak dengan tag dan core kustom saya. Tidak yakin bagaimana menangani yang itu atau haruskah tag saya menimpa inti?
