У меня есть коммерческий веб-сайт Drupal с около 100 000 товаров.Теперь клиент хочет, чтобы я изменил имена файлов с изображениями продуктов и добавил альтернативные (альтернативные) тексты к изображениям для всех существующих продуктов и наименований цветов и цветов.
Путь к полям файлов, казалось, отлично подходит для изменения имен файлов файлов изображений., Но я просто не могу понять, как автоматически добавлять альтернативные тексты к изображениям. Я пробовал hook_file_update, hook_file_presave, hook_entity_presave и т. Д. Я пытаюсь добавить альтернативный текст во время пакетного обновления путей к полям файлов и всехуков запущены, но по какой-то причине альтернативные текстовые данные не сохраняются в сущности.
Поле изображения продукта - это тип изображения с виджетом браузера Media.
Любая помощь для этого?
Вот код hook_entity_presave ():
if ($entity->type == 'image' && (empty($entity->alt) || empty($entity->field_file_image_alt_text))) {
$product = _get_referenced_product($entity->fid);
if ($product) {
$full_product = commerce_product_load($product->product_id);
$title = $full_product->title;
if (!empty($full_product->field_search_color)) {
$search_color = $full_product->field_search_color[LANGUAGE_NONE][0]['tid'];
$search_color = taxonomy_term_load($search_color);
$color_name = $search_color->name;
}
$entity->alt = $title . ' ' .ucfirst($color_name);
$entity->field_file_image_alt_text = $title . ' ' .ucfirst($color_name);
object_log('Entity', $entity);
object_log('Type', $type);
}
}