Приветствую всех. Drupal 8. Ребята подскажите как можно удалить метатег keywords из кода страницы (причем остальные метатеги оставить). Просто оставить keywords пустым не пойдет. Перерыл весь модуль metateg и понял что у меня ничего не получиться. В инете таким извратом тоже никто не занимался. Походу нужен какой то хук в файле шаблона. Как это сделать и куда копать не представляю.Помогите мне пожалуйста!
P.S. Затея не моя, это сеошник
Комментарии
Хорошая мысль
"Просто оставить keywords пустым не пойдет" почему?
Потому, что сеошник.
metatag.api.php:
* Alter the meta tags for pages that are not of content entities.
*
* @param array $metatags
* The special meta tags to be added to the page.
* @param array $context
* The context, containing the entity used for token replacements.
*/
function hook_metatags_alter(array &$metatags, array $context) {
// Exclude meta tags on frontpage.
if (\Drupal::service('path.matcher')->isFrontPage()) {
$metatags = NULL;
}
}
Смотрю и вижу только код в котором все метатеги не отображаются на главной странице, а мне необходимо удалить только keywords со всех страниц.
array &$metatags
ни на какие мысли не наводит?К сожалению нет потому что так глубоко друпал я не изучал((
И php не изучал))
array &$metatags
говорит о том, что в хук передается по ссылке массив метатегов.$metatags = NULL;
- удалит все метатеги, аunset($metatags['tag_name']);
- удалит из метатегов тег tag_nameВ metatag.api.php делаю так:
<?php
function hook_metatags_alter(array &$metatags, array $context) {
unset($metatags['keywords']);
// Exclude meta tags on frontpage.
if (\Drupal::service('path.matcher')->isFrontPage()) {
$metatags = NULL;
}
}
?>
Ничего не меняется. Если вставляю
<?php$metatags = NULL;?>
то тоже ничего не меняется.Потому что это нужно делать в файле своего модуля.
Поздно написал, уже сам допер, но все равно спасибо))
Другие варианты тоже пробовал - не выходит((
Написал $keywords = NULL; не помогло)) Подскажите что с этим делать?
Получилось! В файле metatag.module 427ой строкой добавляем как писал выше Andruxa
unset($metatags['keywords']);
Должно получиться так:
$metatags[$tag] = $data;
unset($metatags['keywords']);
}
}
Вместо 'keywords' можно вставить например 'abstract' или любой другой тег и он не будет отображаться на страницах
Andruxa целую твои мысли!))
Это получилось создать проблемы для будущих обновлений.
Выше вам же написали "в файле своего модуля."
Я это заметил когда уже сам додумался