Php Magento自定义图像属性。我如何进入前端?
我添加了一个带有名称和标签的图像属性,例如New image、New_image 如何从例如view.phtml获取此信息?我想这会很简单Php Magento自定义图像属性。我如何进入前端?,php,magento,Php,Magento,我添加了一个带有名称和标签的图像属性,例如New image、New_image 如何从例如view.phtml获取此信息?我想这会很简单 <?php echo $this->helper('catalog/image')->init($_product, 'new_image')->resize(150, 150); ?> 但是,这是一个错误 有人知道正确的方法吗 非常感谢。初始化调用只有几个有效的字符串值:图像、小图像和缩略图,对应于这些图像的产品
<?php
echo $this->helper('catalog/image')->init($_product, 'new_image')->resize(150, 150);
?>
但是,这是一个错误
有人知道正确的方法吗
非常感谢。初始化调用只有几个有效的字符串值:
图像
、小图像
和缩略图
,对应于这些图像的产品属性。如果要以这种方式调用图像,则需要在管理面板中将new_图像
设置为这三个图像之一
否则,请在产品上查找“gallery”方法,因为这些方法将为您提供所有图像以供迭代
谢谢,
Joe我在列表中显示时遇到了同样的问题,但最终找到了解决方法。 我发现该属性只显示在产品视图页面中,而不显示在列表页面中。 因此,我所做的是再次加载产品,如下所示:
$product=Mage::getModel('catalog/product')->load($_product->getId());
当我在显示图像中使用$product
而不是$\u product
时,即
helper('catalog/image')->init($product, 'new_image')->resize(150, 150); ?>
成功了
我知道这不是一个好方法,但我不知道其他方法。也许我们可以做些什么来选择列表中的属性。Schonkton,我可以在catalog/product/view.phtml中验证您的代码是否工作正常。我认为您已将图像属性添加到属性组。。。附带说明的是,echo的输出将提供一个图像链接,因此需要包含在图像标签中
echo $this->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; ?>
$\u newImg='helper('catalog/image')->init($\u product,'new\u image')->resize(300300)。“'alt=“”。$this->htmlEscape($this->getImageLabel())。'title=“”。$this->htmlEscape($this->getImageLabel())。“/>”;
echo$\u helper->productAttribute($\u product,$\u newImg,$\u image');
法鲁克的代码接近最佳答案
虽然他假设默认情况下我们总是有一个$\u helper对象,但如果不是这样,只需调用echo,其中$\u newImg属性是强制转换的
其次,我在一个jquery脚本化的弹出窗口中显示我的图像,这段代码使该窗口在弹出窗口中打开站点本身,而在第三级,它显示我的图像属性…这感觉就像电影《盗梦空间》,当你在弹出框中不断单击弹出窗口直到你得到图像…只是想打开它你需要将自定义占位符图像添加到皮肤文件夹:
images/catalog/product/placeholder/custom_image.jpg
但是,这是一个错误
我打赌您在var/report中的错误如下
确保已将图像上载到产品。
我建议使用bhab的示例,以防止产品没有新图像时出现错误
所以,确保
似乎您正在使用集合中的$\u产品-请先尝试加载它:
$product = Mage::getModel('catalog/product')->load($_product->getId());
$this->helper('catalog/image')->init($product, 'new_image')->resize(150, 150);
您好,谢谢您的回复。所以,您只能这样调用image、small\u image和thumbnail?我已将属性new\u image添加为type media image。在view.phtml中获取该图像的最佳方法是什么?另外,我如何从更多视图/图库中排除图像?特别是,新的\u图像?非常感谢,AdamWhere“自定义\u图像”“是属性的名称。OP正在使用“new_image”,因此您需要在皮肤文件夹中使用名为“new_image.jpg”的图像。请选择最正确的答案,我的意思是您的问题也有点不确定。根据我的理解,自定义图像属性将是另一个模型中未链接到产品的图像。
$product = Mage::getModel('catalog/product')->load($_product->getId());
$this->helper('catalog/image')->init($product, 'new_image')->resize(150, 150);