我正在尝试在自定义cms主页中显示产品库图像。如果我使用media.phtml中的代码来显示图库图像,则它不起作用。我找到了这段代码并且有效。
<div id="thumbs" class = "thumbs-home">
<?php
$obj = new Mage_Catalog_Block_Product_View_Media();
$_product1 = new Mage_Catalog_Model_Product();
// Load all product information of a particular product
$Products_one = Mage::getModel('catalog/product')->load($productId);
// Use your Product Id instead of $id
$countt = count($Products_one->getMediaGalleryImages());
if($countt>0){
foreach ($Products_one->getMediaGalleryImages() as $_image)
{
// For the Original Image
$thumb_img = "<img src=".Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).str_replace(Mage::getBaseUrl('media'),"",$_image->url)." alt=''width='60' height='60' />";
echo "<a href='".Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).str_replace(Mage::getBaseUrl('media'),"",$_image->url)."'rel='lightbox[gallery]'>".$thumb_img."</a>";
//For gallery Image
//$resizeimage = $obj->helper('catalog/image')->init($_product, 'thumbnail', $_image->getFile())->backgroundColor(242,242,243)->resize(400,300);
//echo "<img src=".$resizeimage."alt='' />";
}
}
?>
这将获取实际图像,并通过width和height属性调整大小。但我想通过magento调整图像大小。最后一段代码$ resizeimage因某些原因无效。我怎样才能做到这一点?问题是我使用灯箱来显示图库图像,这些图像显示的是实际的高分辨率图像,这些图像太大了。灯箱采用了所提供图像的宽度和高度,我无法弄清楚如何设置灯箱的标准尺寸。因此,唯一的另一个选择是在将图像传递给灯箱之前将图像调整为magento。感谢。
答案 0 :(得分:2)
你只需要调用正确的对象,而不是$ obj-&gt; helper你应该使用Mage :: helper,所以你的调用应该是这样的:
print Mage::helper('catalog/image')
->init($product, 'thumbnail', $image->getFile())
->backgroundColor(255,255,255)
->resize(100,100);
就是这样! :)