使用产品图片作为 Virtuemart 中的类别图片

Use Product Image as category Image in Virtuemart

我正在使用 Joomla (2.5) 和 Virtuemart (2.6.14) 制作网站。我的问题是:

是否可以使用属于该类别的产品的缩略图填充类别视图缩略图? 我不想将照片一张一张地上传到类别中,因为这会花费大量时间。 谢谢。

您必须创建从 /components/com_virtuemart/sublayouts/categories.php/templates/your_template/html/com_virtuemart/sublayouts/categories.php 的模板覆盖。

并替换此代码(大约第 74 行):

echo $category->images[0]->displayMediaThumb("",false);

与:

$productModel = VmModel::getModel('product');
$prod_in_category = $productModel->getProductListing(false, 1, false, true, true, true, $category->virtuemart_category_id);
$productModel->addImages($prod_in_category[0],1);
if(!empty($prod_in_category[0]->images[0])){
    echo $prod_in_category[0]->images[0]->displayMediaThumb("",false);
} else {
    echo $category->images[0]->displayMediaThumb("",false);
}

您也可以使用这种拍摄随机图像的方法,但它会占用更多内存,因为它使用所有类别产品的数组。

$productModel = VmModel::getModel('product');
$prod_in_category = $productModel->getProductsInCategory($category->virtuemart_category_id);
$sel = array_rand($prod_in_category);
$productModel->addImages($prod_in_category[$sel],1);
if(!empty($prod_in_category[$sel]->images[0])){
    echo $prod_in_category[$sel]->images[0]->displayMediaThumb("",false);
} else {
    echo $category->images[0]->displayMediaThumb("",false);
}