Я создаю некоторые пользовательские модули для Drupal 8. Они включают некоторые модификации заголовков для лучшей интеграции Facebook. Вот что это было похоже на Drupal 7 (СЕМЬ):Что такое Drupal 8 эквивалент Drupal 7's drupal_add_html_head в модуле?
$element1 = array
(
'#tag' => 'meta',
'#attributes' => array
(
'property' => 'og:title',
'content' => " Profile: " . $record->NameFirst . " " . $record->NameLast,
),
);
drupal_add_html_head($element1, 'og_title');
Но эта функция drupal_add_html_head давно давно нет в Drupal 8. И я совсем потерялась, куда НАЧАТЬ атаковать это. Может быть, это «Headerbag»? Есть Headerbag :: add. Может быть, это в переменной возвращаемого модуля, возможно, добавив еще один элемент, где-то здесь:
return array(
'#markup' => t($pageContent),
);
Может быть HtmlResponseAttachmentsProcessor :: setHeaders? HeaderBag :: установлен? Session :: setRequestHeader? PoStreamWriter :: SetHeader? PoMetadataInterface :: SetHeader?
К сожалению, я не могу найти практически никаких примеров того, как они используются. И я уверен, что все здесь знакомы с досадой наличия кода, который действительно работает в предыдущих версиях, который превращается в «не работает без решения» в новом коде.
Есть ли дополнительная работа в routing.yml, чтобы вызвать вызов your_module_page_attachments? – Anders8
Нет, вы создаете файл «your_module.module», где «your_module» - это, конечно, имя вашего модуля. В этом файле вы объявляете функцию сверху, снова замените «your_module» на ваше имя модуля. Затем просто очистите кеш, и он должен работать. –