Здравствуйте. Использую модуль AMP. Настроил вывод ld+json в нем, но он не выводит поле 'Image'. Валидатор ругается следующим образом: 'A value for the image field is required.'
Нашел в коде где выводится ld+json. Вывод image там не нашел.
Я могу добавить в модуле следующим образом:
<?php
function amp_node_view($node, $view_mode, $langcode) {
// custom added field image
$img_custom = 'https://example.com/logo.png';
$img_items = field_get_items('node', $node, 'field_image');
if (file_exists($img_items[0]['uri'])) {
$img_custom = file_create_url($img_items[0]['uri']);
}
$metadata_json['image'] = $img_custom;
}
?>
Так все выводится и проверку прохожу, но менять напрямую что-то в коде модуля плохая ведь практика.
Пытался сделать допустим таким образом в template.php в шаблоне который используется для AMP.
<?php
function amp_module_implements_alter(&$implementations, $hook) {
if ($hook == 'amp_node_view') {
// тут пытаюсь изменить вывод
}
}
?>
Но из этого нечего не вышло.
Как такое можно организовать? Заранее спасибо.
Комментарии
Начнём с того, что template.php для theme_*. А hook_* можете использовать в собственных модулях
Спасибо. То есть остаётся только редактировать прямо в модуле?
Нет. Создать свой модуль и реализовать в нём нужный Вам хук