我已经添加了名称和标签的图片属性,例如新图片,new_image。Magento自定义图像属性。我如何进入前端?
如何从例如view.phtml?我认为它会像
<?php
echo $this->helper('catalog/image')->init($_product, 'new_image')->resize(150, 150);
?>
但是,这是抛出一个错误。
有没有人知道这样做的正确方法?
非常感谢。
我已经添加了名称和标签的图片属性,例如新图片,new_image。Magento自定义图像属性。我如何进入前端?
如何从例如view.phtml?我认为它会像
<?php
echo $this->helper('catalog/image')->init($_product, 'new_image')->resize(150, 150);
?>
但是,这是抛出一个错误。
有没有人知道这样做的正确方法?
非常感谢。
Schonkton,我可以验证你的代码在catalog/product/view.phtml中工作得很好。我认为你将图像属性添加到了属性组...附带说明的是,回声的输出将传递一个图像链接,因此需要将其包含在图像标签中。
echo $this->helper('catalog/image')->init($_product, 'new_image')->resize(150, 150);
该初始化调用只有几个有效的字符串值:image
,small_image
和thumbnail
,对应于这些图像的产品属性。如果您想以这种方式调用图像,则需要将new_image
设置为管理面板中的这三个图像之一。
否则,请在产品上寻找“图库”方法,因为这些方法会为您提供所有图像以供迭代。
谢谢, 乔
你好,谢谢你的回复。 那么,你只能以这种方式调用图像,small_image和缩略图? 我添加了属性new_image作为类型媒体图像。 什么是在view.phtml中获取图像的最佳方式? 此外,我将如何从更多的视图/画廊排除图像?具体来说,new_image? 非常感谢, 亚当 – Schonkton 2010-07-12 08:47:55
我在列表中显示了同样的问题,但终于找到了一种方法来解决它。 我发现该属性仅在产品视图页面中显示,不在列表页面中。 所以我所做的就是再次加载产品为:
$product=Mage::getModel('catalog/product')->load($_product->getId());
当我用$product
而不是显示图像中$_product
,即
helper('catalog/image')->init($product, 'new_image')->resize(150, 150); ?>
它的工作。
我知道这不是一个好办法,但我不知道其他任何方式。也许我们可以做一些选择列表中的属性。
对你来说答案太晚了,但它可能对别人有帮助。以下回答适用于产品查看页面。
首先检查该属性是否具有某种价值。
$isNewImage =$_product->getResource()->getAttribute('new_image')->getFrontend()->getValue($_product);
如果它已经从后端选择了一些值
<?php if ($isNewImage != 'no_selection'):?>
$_newImg ='<img id="your-id" src="'.$this->helper('catalog/image')->init($_product, 'new_image')->resize(300,300).'" alt="'.$this->htmlEscape($this->getImageLabel()).'" title="'.$this->htmlEscape($this->getImageLabel()).'" />';
echo $_helper->productAttribute($_product, $_newImg , 'new_image');
<?php endif; ?>
Farrukhs代码是接近最好的答案,
虽然他假设我们总是在默认情况下有一个$ _helper对象,如果不是这种情况,只需调用echo $ _newImg属性被铸造
其次,我显示我的图像在一个jQuery的scriptoluscious弹出窗口中,此代码导致wi ndow在弹出窗口中打开网站本身,而不是在第三层显示我的图像属性...它几乎感觉就像电影开始时,当你不断弹出框架内的弹出框,直到你得到图像...只是想分享这种混乱!
你需要添加自定义图像占位符,你的皮肤文件夹:images/catalog/product/placeholder/custom_image.jpg
其中“custom_image”是您的属性的名称。 OP正在使用“new_image”,因此您需要在skin文件夹中有一个名为“new_image.jpg”的图像。 – Tisch 2016-09-29 15:03:28
请选择最正确的答案,我的意思是你的问题也有点靠不住。根据我的理解,自定义图像属性将是另一个模型中未链接到产品的图像。 – surfer190 2016-11-07 08:34:44