Оказалось, что 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);
}
}