Оказалось, что alt для изображения нельзя задать с помощью параметров функции displayMediaThumb

Параметр alt функция displayMediaThumb() берет из свойств объекта изображения - $product->images[0]

Поэтому нам нужно изменить свойство данного объекта file_meta таким образом:

if (!empty($product->images[0])) {
 if ( empty( $product->images[0]->file_meta ) ) {
  $product->images[0]->file_meta = htmlspecialchars($product->product_name);
 }
}

htmlspecialchars нужен для случая когда в имени товара есть кавычки.

Для Virtuemart 3 alt меняем в файле:

components/com_virtuemart/sublayouts/products.php

Стоит также проверить, действительно ли используется этот файл.. возможно в шаблоне есть переопределение подшаблонов, тогда нужно править файл

шаблон/html/sublayouts/products.php

Либо, код вообще может быть в файле

шаблон/html/com_virtuemart/category/default.php

Находим цикл по продуктам:

foreach ( $products as $product ) {

И в начале цикла добавляем приведенный выше код.

Для категорий в файл

components/com_virtuemart/sublayouts/categories.php

Добавляем примерно такой же код как и для товаров:

if (!empty($category->images[0])) {
 if ( empty( $category->images[0]->file_meta ) ) {
  $category->images[0]->file_meta = htmlspecialchars($category->category_name);
 }
}