我需要找到一种方法来显示自定义属性的值,而不是下图中显示的“产品名称” .
Grouped products table http://www.magentocommerce.com/images/uploads/grouped_prod_front.gif
我正在使用/app/design/frontend/default/defaultx/template/catalog/product/view/type/grouped.php
下面的代码不起作用(自定义属性是年份):
<?php if (count($_associatedProducts)): ?>
<?php foreach ($_associatedProducts as $_item): ?>
<tr>
<td><?php echo $this->htmlEscape($_item->getYearmade()) ?></td>
任何帮助,将不胜感激 .
编辑:所以答案结果很简单 . 你看到我上面没有提到的是确实有输出......但它只是一个数字(例如:52) . 原来这是该自定义属性值的ID(它是自定义属性的Dropdown类型) .
所以总结一下
这适用于文本类型的自定义属性:
echo $this->htmlEscape($_item->getYearmade())
但对于所有其他类型的自定义属性(我认为),应使用以下内容:
echo $this->htmlEscape($_item->getAttributeText('yearmade'))
如果没有Alan Storm提供的最优秀的答案,我就不会发现这一点 . 谢谢你,先生 .
4 回答
所有Magento模型都有一个“getData”方法,它将返回一个关键/值对的php数组 . 在groups.phtml文件的顶部试试这个(在定义$ _product之后)
您应该看到类似于以下内容的输出 .
因此,您可以获取一系列属性,只需拔出密钥即可 . 你也可以使用Magento的方便/魔术getX和setX方法 . 在所有Magento模型上,您可以通过调用基于名称的驼峰案例版本的方法来访问数据数组中的任何属性,
因此,无论您的自定义属性名称是什么,您都应该能够使用上面的内容获取它,如果您不确定print_r或var_dump是否由getData()返回的数组内容 .
最后,如果自定义属性是关于其中一个相关产品的简单产品,那么您将需要更多类似的东西
我有同样的问题 .
您必须找到grouped.phtml
app/design/frontend/base/default/template/catalog/product/view/type/grouped.phtml
获取项目,示例
$_item[units]
在表格中添加一个单元格并粘贴echo
$_item['units'];
多数民众赞成:)
从版本 . 1.3 . 并且在1.4中你也必须使用 $_item 而不是 $_product ,对我来说这也适用于可分组表 .
例:
有些插件可以很容易地解决您的解决方案 . 你可以在这里找到带有产品选项并在网格中显示的插件:http://www.magemechanics.com/product-grid-options.html