У меня есть энтити Entity Product где одно из полей:
- поле reference на Media type с названием Media Product Image
У Media Product Image есть поля:
- Image
- Custom Color id
И в developers tools браузера картинка выглядит так:
Нужно добавить к тегу <img>
атрибут data-color и передать в него значение из поля Custom Color id.
Это можно сделать с помощью:
https://api.drupal.org/api/drupal/core%21includes%21theme.inc/function/t...
Пример:
<?php
function my_theme_preprocess_field(&$variables, $hook) {
$element = $variables['element'];
if (isset($element['#field_name'])) {
if ($element['#field_name'] == 'field_image') {
// do something
}
}
}?>
Но проблема в том что когда я в своем модуле entity_product_admin в файле .module в названии функции пишу слово media :
<?php
function entity_product_admin_preprocess_media(&$variables, $hook) {
}
?>
Я не могу достать field_custom_color_id потому что в API сущности media просто нет метода с помощью которого можно получить значение данного поля:
Кроме того я не имею доступа к атрибутам image и не могу добавить атрибут data-color с значением поля Custom color id.
Если написать в названии функции слово image :
<?php
function entity_product_admin_preprocess_image(&$variables, $hook) {
}
?>
То я уже имею доступ к атрибутам image, но не имею доступа к полю field_custom_color_id:
Пробовал в названии функции писать просто field, но тогда вообще никуда но могу достучаться.
Как тогда эта функция должна выглядеть?