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

时间:2015-04-17 13:13:25

标签: php joomla virtuemart

我使用Joomla(2.5)和Virtuemart(2.6.14)创建了一个网站。我的问题是:

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

1 个答案:

答案 0 :(得分:1)

您必须创建/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);
}
相关问题