Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 使用类别默认图像作为产品默认图像_Image_Magento_Product - Fatal编程技术网

Image 使用类别默认图像作为产品默认图像

Image 使用类别默认图像作为产品默认图像,image,magento,product,Image,Magento,Product,在magento中,您可以将图像设置为上面显示的类别。 是否可以使用类别图像作为默认产品图像? 如果一个产品有一个图像,它将使用它,但如果它没有,并且它的第一个类别有一个图像,它将使用它 最简单的方法是覆盖产品块和模板,并查找每个产品的类别和图像(没有图像),但这将添加许多查询。对于类别视图,我可以进行一次查询,但对于搜索结果,我必须对每个产品进行一次查询,因为每个产品可以来自不同的类别 有更好的方法吗? 可能使用自定义类别设计或覆盖索引 谢谢通常用于生成这些图像的助手(Mage\u Catal

在magento中,您可以将图像设置为上面显示的类别。 是否可以使用类别图像作为默认产品图像? 如果一个产品有一个图像,它将使用它,但如果它没有,并且它的第一个类别有一个图像,它将使用它

最简单的方法是覆盖产品块和模板,并查找每个产品的类别和图像(没有图像),但这将添加许多查询。对于类别视图,我可以进行一次查询,但对于搜索结果,我必须对每个产品进行一次查询,因为每个产品可以来自不同的类别

有更好的方法吗? 可能使用自定义类别设计或覆盖索引


谢谢

通常用于生成这些图像的助手(Mage\u Catalog\u helper\u Image)有一个方法
占位符($filename)
,该方法应该设置占位符图像URL。您应该能够在显示类别产品之前设置该图像,以使用类别图像作为占位符图像

希望有帮助

谢谢,
Joe

要完成Joseph和Pablo的回答,在Magento 1.9.1中,它用于助手的_-toString()方法。
请注意,当调用$this->helper('catalog/image')->placeholder($placeholder)时,$placeholder是皮肤目录中的一个相对文件路径,因此它几乎不能用于解决您的问题(我的也不能,我将使用您的解决方案:)

我不认为在Mage\u catalog\u helpholder\u图像中使用getPlaceholder。可能是错误或糟糕的编码风格。我已经超过了字符串。如果未定义$this->getProduct()->getData('image'),则使用类别图像(如果已设置)。在第一个调用中,我在一个调用中缓存所有类别的图像。谢谢你给我指引了正确的方向。