Надрукувати
Категорія: Virtuemart
Перегляди: 22075

Оцінка користувачів: 5 / 5

Активна зіркаАктивна зіркаАктивна зіркаАктивна зіркаАктивна зірка
 

Spider moonЗадача

Показувати зображення випадкового товару, як зображення для категорії VirtueMart.

Вирішення

Я вирішив це на рівні шаблона Joomla.

Треба виконати наступні кроки:


  1. Скопіювати файл components/com_virtuemart/views/category/tmpl/default.php до templates/YOURTEMPLATE/html/com_virtuemart/category/default.php, якщо останнього ще не існує..
  2. Cкопіювати файл components/com_virtuemart/views/virtuemart/tmpl/default_categories.php до templates/YOURTEMPLATE/html/com_virtuemart/virtuemart/default_categories.php, якщо останнього ще не існує.
  3. Створити файл templates/YOURTEMPLATE/html/com_virtuemart/gruzsnippets/category_random_image.php з наступним кодом:
  4. Відкрити файл templates/YOURTEMPLATE/html/com_virtuemart/category/default.php і знайти місце, де виводиться зобаження категорії. У VM  2.0.7d це рядок 105:
    echo $category->images[0]->displayMediaThumb("",false);

    Над ним додати наступний код:
    include (dirname(__FILE__).DS.'..'.DS.'gruzsnippets'.DS.'category_random_image.php');
  5. Зробити точку 4 для templates/YOURTEMPLATE/html/com_virtuemart/virtuemart/default_categories.php також.

Налаштування

У файлі templates/YOURTEMPLATE/html/com_virtuemart/gruzsnippets/category_random_image.php є рядок

$ordering_is_set = false;

У моєму випадку я потребував лише перше зображення з товару. Але впорядкування зображеня не було встановлено в таблиці #__virtuemart_product_medias. То ж я мусив здійснювати два запити до БД замість одного, щоб витягнути саме перше зображення випадкового товару. Ви можете встановити цю опцію у TRUE, щоби зменшити навантаження на БД, звісно, якщо вам байдужий порядок зображень.

Якщо ви помітили помилку, то виділіть фрагмент тексту та натисніть Ctrl+Enter
FaLang translation system by Faboba