magento - Magento 中分组产品的所有附加属性

标签 magento attributes product

类似于以下问题: Magento - Show Custom Attributes in Grouped Product table

我想在分组产品页面中显示简单产品的属性。

但是,我需要它能够正常工作,这样您就不必显式指定显示哪些属性。相反,它显示将显示在该产品的简单产品 View 上的所有属性。

我尝试过以下变体:

(来自/template/catalog/product/view/type/grouped.phtml)

<?php foreach ($_associatedProducts as $_item): ?>
  <tr>
            <td><?php echo $this->htmlEscape($_item->getName()) ?></td>

   <!-- important problem part -->
   <?php foreach ($_item->getAttributes() as $arr): ?>
    <td><?php echo $arr->getData() ?></td>
   <?php endforeach; ?>
   <!-- end of problem part -->

            <td class="a-right">
                <?php echo $this->getPriceHtml($_item, true) ?>
            </td>
            <?php if ($_product->isSaleable()): ?>
            <td class="a-center">
            <?php if ($_item->isSaleable()) : ?>
    <a href="<?php echo $_item->getUrlPath() ?>">View</a>
            <?php else: ?>
                <p class="availability"><span class="out-of-stock"><?php echo $this->__('Out of stock.') ?></span></p>
            <?php endif; ?>
            </td>
            <?php endif; ?>
        </tr>
    <?php endforeach; ?>

但是,以及其他变体,我无法将显示的属性限制为仅显示我需要的属性(即仅显示在简单产品 View 上的附加属性;那些设置为在前端可查看的属性)。有什么想法吗?

最佳答案

Mage_Catalog_Block_Product_View_Attributes 类方法 getAdditionalData() 应该指导您如何将变量限制为仅选择为可在前端查看的变量。它的 getAdditionalData 方法在产品 View block 中被引用。

解决此问题的步骤如下: 1. 创建一个新的 Magento 模块,旨在覆盖分组的产品 block 。 2. 创建新的分组产品 block ,从 Mage_Catalog_Block_Product_View_Attributes 的 getAdditionalData() 方法中大量窃取。 3. 基于/template/catalog/product/view/type/grouped.phtml 创建一个新模板来支持您的自定义 block 。 4. 覆盖模块的 config.xml 中的 block (请参阅:Overriding catalog/breadcrumbs and catalog/products/view,Magento 论坛)

这会导致目录中所有分组的产品都会出现这种行为。如果您需要更具选择性,那么我认为合理的做法是向产品目录添加自定义属性(最好在您刚刚创建的自定义模块中设置!),以便切换行为,并编写检查程序以便切换到您的模板。

关于magento - Magento 中分组产品的所有附加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1972379/

相关文章:

sql - 在 SQL 中创建一个 "products you may be interested in"算法?

magento - Magento 的后端缓存与前端缓存有何不同

Magento 和 Google 站点地图 - Cron

delphi - 错误的 RTTI 可见性信息和缺少的属性

javascript - 从 cookie 读取多个复选框值

mysql - 按订单存储产品 - 下订单后产品将被删除

Magento/Paypal 储备金将在几个月后收取

css - 通过应用 css 类名增加 magento 站点中搜索词的大小

XSLT 1.0 : how to get print of first non-empty value of two (see inside)

php - 在 Woocommerce 产品标题中添加换行符