如何在Magento中的list.phtml中访问自定义图像属性

时间:2012-11-15 01:01:46

标签: php magento

我正在用magento创建一个网站。

所以我在我的产品中添加了新的媒体图像属性。我想在我的主页上使用特定的图像,但有些产品不会有这个图像。

所以我创建了一个名为list-homepage.phtml的新list.phtml文件。

所以我现在正在list.phtml中的产品集合for循环中这样做。

$product=Mage::getModel('catalog/product')->load($_product->getId());

我从上面再次加载产品,我测试该产品是否具有新的图像属性

<?php if ($product->getMaleFemaleImage()){  ?>
      <img src="<?php echo $this->helper('catalog/image')->init($product, 'male_female_image')->setQuality(100)->resize($imgSize); ?>" width="<?php echo $imgSize ?>" height="<?php echo $imgSize ?>" alt="<?php echo $this->stripTags($this->getImageLabel($product, 'male_female_image'), null, true) ?> " />
<?php }else{ ?>
     <img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->setQuality(100)->resize($imgSize); ?>" width="<?php echo $imgSize ?>" height="<?php echo $imgSize ?>" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" />
<?php }?>

这可行但是可行 从上面你可以看到我必须再次加载产品,我不想这样做。有没有办法访问我创建的male_female_image属性。

1 个答案:

答案 0 :(得分:4)

看看@ Magento - add media gallery attribute to product flat table

打开app / design / frontend / default / yourtheme / layout / catalog.xml

<catalog_category_layered translate="label"><catalog_category_default translate="label">中找到下面一行

 <block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
 <block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">
 <block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">

和(添加<action method="addAttribute"> ....)

<block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
<block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">
add -->   <action method="addAttribute"><name>MaleFemaleImage</name></action>
<block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">

了解更多@