[英]Displaying all attributes on the simple product table of a grouped product - Magento
[英]Magento - Show Custom Attributes in Grouped Product table
我需要找到一种方法来显示自定义属性的值,以代替下图中显示的“产品名称”。
(来源: magentocommerce.com )
我正在使用 /app/design/frontend/default/defaultx/template/catalog/product/view/type/grouped.php
下面的代码不起作用(自定义属性是 yearmade):
<?php if (count($_associatedProducts)): ?>
<?php foreach ($_associatedProducts as $_item): ?>
<tr>
<td><?php echo $this->htmlEscape($_item->getYearmade()) ?></td>
任何帮助,将不胜感激。
编辑:所以答案原来很简单。 你看我上面没有提到的是确实有 output... 但它只是一个数字(例如:52)。 原来这是该自定义属性值的 ID(这是自定义属性的下拉类型)。
所以综上所述
这适用于文本类型的自定义属性:
echo $this->htmlEscape($_item->getYearmade())
但是对于所有其他类型的自定义属性(我认为),应该使用以下内容:
echo $this->htmlEscape($_item->getAttributeText('yearmade'))
如果没有下面 Alan Storm 提供的最出色的答案,我就不会发现这一点。 谢谢你,先生。
所有 Magento 模型都有一个可用的“getData”方法,它将返回一个键/值对的 php 数组。 在 grouped.phtml 文件的顶部试试这个(在定义 $_product 之后)
print('<pre>');print_r($_product->getData());print('</pre>');
您应该会看到如下所示的 output。
Array
(
[store_id] => 1
[entity_id] => 3437
[entity_type_id] => 4
[attribute_set_id] => 27
[type_id] => grouped
[sku] =>
[category_ids] =>
[created_at] => 2009-04-16 03:37:51
...
因此,您可以获取一组属性,然后将密钥拉出。 您还可以使用 Magento 的便捷/神奇 getX 和 setX 方法。 在所有 Magento 模型上,您可以通过调用基于名称的驼峰式版本的方法来访问数据数组中的任何属性,
$created_at = $_product->getCreatedAt();
$_product->setCreatedAt($date);
因此,无论您的自定义属性名称是什么,您都应该能够使用上面的方法获取它,如果您不确定只是 print_r 或 var_dump getData() 返回的数组的内容。
最后,如果自定义属性在相关产品简单产品之一上,您会想要更像
$_associatedProducts[0]->getCreatedAt();
我有同样的问题。
您必须找到 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 ,对我来说这在可分组表中也能正常工作。
例子:
<?php echo $_item->getAttributeText('your attribute'); ?>
有些插件可以非常轻松地解决您的解决方案。 您可以在此处找到采用产品选项并将其显示在网格中的插件: http://www.magemechanics.com/product-grid-options.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.