在magento的“Additional information”下添加属性信息以外的内容
add content other than attribute information under “Additional information” in magento
我们可以在 magento 产品视图页面中看到 "Additional information " 选项卡。
在那里我们可以列出所有属性。
我想在 "Additional information " 选项卡下显示一些内容....
表示
主要信息
属性标签 1:属性值
子-信息
属性标签 2:属性值。
如果您需要任何说明,请告诉我。
提前致谢。
如在 Magento SE 上的回答:
You could customize the template
catalog/product/view/attributes.phtml
. Copy it to your theme from
base/default
if it isn't there yet and include what you need.
For better maintainability, I'd recommend to just add
$this->getChildHtml('my_child_alias')
to the template and define
child blocks in the layout (i.e. layout/local.xml
of your theme:
<reference name="product.attributes">
<block type="core/template" name="my.custom.product.block" as="my_child_alias" template="my/custom/template.phtml" />
</reference>
根据您在此处评论中的附加信息判断,您可能不想创建子块,而是必须在 foreach
循环中添加代码。
原创
<?php foreach ($_additional as $_data): ?>
<tr>
<th class="label"><?php echo $this->escapeHtml($this->__($_data['label'])) ?></th>
<td class="data"><?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
</tr>
<?php endforeach; ?>
已更改(示例)
<?php foreach ($_additional as $_data): ?>
<?php if ($_data['code'] == 'attribute_1'): ?>
<tr><th colspan="2"><?php echo $this->__('Main Information') ?></th></tr>
<?php elseif ($_data['code'] == 'attribute_2'): ?>
<tr><th colspan="2"><?php echo $this->__('Sub Information') ?></th></tr>
<?php endif; ?>
<tr>
<th class="label"><?php echo $this->escapeHtml($this->__($_data['label'])) ?></th>
<td class="data"><?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
</tr>
<?php endforeach; ?>
其中attribute_1
和attribute_2
是每组第一个属性的代码。
修改文件:catalog\product\view\attributes.phtml.
用此代码替换 <th></th>
。
<th class="label">
<?php if(array_key_exists('size',$_additional) && array_key_exists('color',$_additional) ){
if($_data['code'] == 'size'){
echo " Main features : ";
}
} ?>
<?php echo $this->escapeHtml($this->__($_data['label'])) ?>
</th>
应用此代码并检查放置。
我们可以在 magento 产品视图页面中看到 "Additional information " 选项卡。
在那里我们可以列出所有属性。
我想在 "Additional information " 选项卡下显示一些内容....
表示
主要信息
属性标签 1:属性值
子-信息
属性标签 2:属性值。
如果您需要任何说明,请告诉我。
提前致谢。
如在 Magento SE 上的回答:
You could customize the template
catalog/product/view/attributes.phtml
. Copy it to your theme frombase/default
if it isn't there yet and include what you need.For better maintainability, I'd recommend to just add
$this->getChildHtml('my_child_alias')
to the template and define child blocks in the layout (i.e.layout/local.xml
of your theme:<reference name="product.attributes"> <block type="core/template" name="my.custom.product.block" as="my_child_alias" template="my/custom/template.phtml" /> </reference>
根据您在此处评论中的附加信息判断,您可能不想创建子块,而是必须在 foreach
循环中添加代码。
原创
<?php foreach ($_additional as $_data): ?>
<tr>
<th class="label"><?php echo $this->escapeHtml($this->__($_data['label'])) ?></th>
<td class="data"><?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
</tr>
<?php endforeach; ?>
已更改(示例)
<?php foreach ($_additional as $_data): ?>
<?php if ($_data['code'] == 'attribute_1'): ?>
<tr><th colspan="2"><?php echo $this->__('Main Information') ?></th></tr>
<?php elseif ($_data['code'] == 'attribute_2'): ?>
<tr><th colspan="2"><?php echo $this->__('Sub Information') ?></th></tr>
<?php endif; ?>
<tr>
<th class="label"><?php echo $this->escapeHtml($this->__($_data['label'])) ?></th>
<td class="data"><?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
</tr>
<?php endforeach; ?>
其中attribute_1
和attribute_2
是每组第一个属性的代码。
修改文件:catalog\product\view\attributes.phtml.
用此代码替换 <th></th>
。
<th class="label">
<?php if(array_key_exists('size',$_additional) && array_key_exists('color',$_additional) ){
if($_data['code'] == 'size'){
echo " Main features : ";
}
} ?>
<?php echo $this->escapeHtml($this->__($_data['label'])) ?>
</th>
应用此代码并检查放置。