2011-03-23 67 views
1

我试图在产品管理面板中添加一个新的图像类型。我创建了一个新的属性(hero_banner),将它的类型设置为媒体图像(类似于如何设置缩略图图像和small_image)。然后我将它添加到图像下的默认属性集。它在管理面板中显示得很好,并允许您将图像分配为英雄,但当我尝试将图像路径回显到phtml时,模板停止渲染。我使用的回声图像的代码如下:添加新产品图像类型(属性)在Magento

<?php echo $this->helper('catalog/image')->init($_product, 'hero_banner'); ?> 

这是一个产品的foreach迭代中完成的,所以我有$ _产品变量,我可以附和其他细腻的图像(如缩略图,small_image等等)。我究竟做错了什么?

+0

迪诺,你是怎么做到的,我也想要实现它。请给我分享一些信息吗? – Muk 2014-04-22 06:39:46

回答

0

我认为你必须到您的收藏这样太选择此属性之前收集实际装载:

$productCollection->addAttributeToSelect('hero_banner'); 

它适用于我的代码很好,但我不知道你是否已经rewrited块您的收藏已定义(它不会在您的模板中工作,因为收藏已经在那里加载) 也许你可以配置你的hero_attribute直接在Magento后台添加这个addAttributeToSelect,我会看看

编辑:好吧,我想我已经明白了,你不必担心收集&次重写:) 如果您使用的产品上市这个属性,你必须设置属性为true,以你的形象属性(在管理面板属性管理)

祝你好运“产品上市可见”

+0

绝对的传说谢谢你的工作就像一个魅力。虽然我使用自定义代码来检索我的产品集合,但我使用的代码来自List.php,以尝试符合Magento最佳实践。添加属性的代码是: - > addAttributeToSelect(Mage :: getSingleton('catalog/config') - > getProductAttributes()),我想在这个英雄里拉。任何想法,我可以编辑这个? – Dino 2011-03-23 11:24:02

+0

我不明白你想要做什么?如果你使用getProductAttribute()(你可以看一下Mage_Catalog_Model_Resource_Eav_Mysql4_Config :: getProductAttribute()) – haltabush 2011-03-23 12:56:06

+0

我在说的是在该方法调用中,我发布了其他图像的属性(例如small_image ,缩略图等)。如果我能够找出他们包括他们的位置,这将是很好的,这样我就不必在任何地方都包含英雄属性了。我没有大规模的困扰,但它只是一个更好的方法。 – Dino 2011-03-23 14:43:48