我想在Magento的分组产品下列出简单产品的缩写名称。
示例:
分组产品名称:小马钩针钩 - 15厘米(塑料)
简单产品名称:
我想在分组的产品页面上显示:
这应该在实践中看起来如何: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中更改代码的位置以实现我想要做的事情?!
非常感谢,
休
答案 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)
其他任何试图这样做的人都是我的解决方案:
使用属性代码添加属性&#39; short_name&#39;和属性标签&#39;短名称&#39;。 (如果您不确定除了适用于哪种产品类型之外如何正确设置,请使用“名称”属性中的设置 - 请参阅下面的第2点)
选择您将使用的产品类型 - 我仅在Simple产品上使用它,因为我目前不对任何其他类型进行分组,但您可能需要在其他类型上使用它。
将“常规”组中“名称”属性下方的此属性添加到要使用此功能的任何属性集中。
打开在分组产品中使用的简单产品,并在新的短名称字段中添加缩短的名称。
保存产品
在主题文件夹中打开以下文件:
app/design/frontend/(base)/(default)/template/catalog/product/view/type/grouped.phtml
查找行:
<td><?php echo $this->escapeHtml($_item->getName()) ?></td>
替换为:
<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>
刷新缓存
刷新索引
如果产品有短名称,那么现在应该在分组产品页面上显示短名称,如果没有,则显示正常名称。
(我正在使用Magento 1.9.0.1)