Magento - 显示分组产品中儿童的替代名称

时间:2014-08-22 10:50:18

标签: php magento

我想在Magento的分组产品下列出简单产品的缩写名称。

示例:

分组产品名称:小马钩针钩 - 15厘米(塑料)

简单产品名称:

  1. 小马钩针钩 - 15厘米(塑料) - 5毫米
  2. 小马钩针钩 - 15厘米(塑料) - 5.5毫米
  3. 小马钩针钩 - 15厘米(塑料) - 6毫米
  4. 小马钩针钩 - 15厘米(塑料) - 6.5毫米
  5. 小马钩针钩 - 15厘米(塑料) - 7毫米
  6. 我想在分组的产品页面上显示:

    1. 5毫米
    2. 5.5毫米
    3. 6毫米
    4. 6.5毫米
    5. 7毫米
    6. 这应该在实践中看起来如何:http://www.deramores.com/pony-crochet-hook-plastic-15cm

      我认为最灵活的方法是创建一个名为" grouped_product_display_name"如果已填充,则在分组的产品页面上显示该内容;如果不是,则显示正常的产品名称。

      我最初在这些方面考虑了一些PHP(道歉,如果这是关闭的 - 我几天前才开始尝试编写PHP并且没有编码背景!):

      <?php if( ('Grouped Product Display Name') == "" {echo 'grouped_product_display_name';} else {echo $this->__('Product Name');} ?>
      

      我如何编写此代码,因为我不确定在Magento中更改代码的位置以实现我想要做的事情?!

      非常感谢,

2 个答案:

答案 0 :(得分:0)

向产品实体添加新属性,例如“短名称”:

Magento: add new attribute to all products

更改关联产品的分组产品模板中的getter。在基本主题中,模板路径为:

app/design/frontend/base/default/template/catalog/product/view/type/grouped.phtml

而不是:

<td><?php echo $this->escapeHtml($_item->getName()) ?></td>

写:

<td>
    <?php $name = ($_item->getShortName()) ? $_item->getShortName() : $_item->getName() ?>
    <?php echo $this->escapeHtml($name) ?>
</td>

答案 1 :(得分:0)

其他任何试图这样做的人都是我的解决方案:

  1. 使用属性代码添加属性&#39; short_name&#39;和属性标签&#39;短名称&#39;。 (如果您不确定除了适用于哪种产品类型之外如何正确设置,请使用“名称”属性中的设置 - 请参阅下面的第2点)

  2. 选择您将使用的产品类型 - 我仅在Simple产品上使用它,因为我目前不对任何其他类型进行分组,但您可能需要在其他类型上使用它。

  3. 将“常规”组中“名称”属性下方的此属性添加到要使用此功能的任何属性集中。

  4. 打开在分组产品中使用的简单产品,并在新的短名称字段中添加缩短的名称。

  5. 保存产品

  6. 在主题文件夹中打开以下文件:

    app/design/frontend/(base)/(default)/template/catalog/product/view/type/grouped.phtml
    
  7. 查找行:

    <td><?php echo $this->escapeHtml($_item->getName()) ?></td>
    
  8. 替换为:

    <td>
    <?php $shortname = $_item->getShortName() ?>
    <?php $name = $_item->getName() ?>
    <?php if (!is_null($shortname)): ?>
    <?php echo $this->escapeHTML($shortname) ?>
    <?php else: ?>
    <?php echo $this->escapeHTML($name) ?>
    <?php endif ?>
    </td>
    
  9. 刷新缓存

  10. 刷新索引

  11. 如果产品有短名称,那么现在应该在分组产品页面上显示短名称,如果没有,则显示正常名称。

    (我正在使用Magento 1.9.0.1)