我的问题是如何将自定义属性指定为list.phtml文件中悬停图像的图像。
我已经完成了我的研究,并通过使用此代码在list.phtml的网格视图中调用图像,让网站完成我想要的工作
<a href="<?php echo $_product->getProductUrl() ?>"
title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>"
class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->constrainOnly(FALSE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize(135); ?>"
width="135" height="135"
alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>"
onmouseover="this.src='<?php echo $this->helper('catalog/image')->init($_product, 'thumbnail')->constrainOnly(FALSE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize(135) ?>';"
onmouseout="this.src='<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->constrainOnly(FALSE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize(135) ?>';" />
</a>
如果将悬停图像指定为缩略图,则此方法有效。
我的问题是我使用this extension导入我的所有产品,并且它不允许为base,small和thumbnail分配不同的图像。你必须使用相同的图像。 (是的,我可以单独选择每个图像并选择缩略图,但这不是我拥有的产品数量的选项)
好的,我所做的就是为名为hover image的产品创建了一个自定义属性,将列添加到csv文件中,并且它可以正常运行 - 悬停图像被分配给图像下的Hover Image选项,如下所示:
所以我的问题是如何编辑上面的代码行,以便调用新的'hover_image'属性而不是缩略图。我尝试将缩略图更改为“hover_image”,但网站崩溃了。
请帮助,我感觉如此接近,但不是那么。
答案 0 :(得分:0)
问题是您的属性“hover_image”未在您的类别页面上加载。改变这一点尝试:
转到任何模块的配置xml文件,如果您不确定哪个最好使用local.xml在 config 节点下添加这些行
<config>
...
<frontend>
<product>
<collection>
<attributes>
<hover_image/>
</attributes>
</collection>
</product>
</frontend>
...
</config>
由于“hover_image”还没有占位符,我们需要添加它。去
skin/frontend/default/default/images/catalog/product/placeholder
,在这里您可以找到普通图像复制image.jpg的占位符,并将副本重命名为“hover_image.jpg”
之后,清除缓存。如果您使用的是产品扁平指数,请重新编制索引。 然后你应该可以使用
<?php echo $this->helper('catalog/image')
->init($_product, 'hover_image')
->resize(135) ?>
如果不是,请告诉我