|
使用属性attribute作为产品额外的字段予以显示相关附加信息,其目的是一方面弥补产品字段本身数量的局限性,另一方面也是为了尽快显示产品相关信息,这样让顾客能够尽快注意到这些信息。
为何使用属性attribute?
1. 无需创建额外的数据库表或字段;
2. 只修改product.tpl和compare.tpl就可以了;
3. 你可以增加多语言版的更多的额外“字段”
本案例如上图所示为一本书添加产品额外信息。按照如下操作步骤进行:
1. 修改产品
网站后台
创建如下两个属性组 (Catalog > Attribute > Attribute Groups)
Product Info
Product Details
创建属于某属性组的以下属性(Catalog > Attribute > Attributes)
Product Info 属性组: ISBN, Pages, Author and Publisher
Product Details 属性组: Reading Level, Pages, Author, Publisher, ISBN-10, ISBN-13, Book Dimension
创建产品 (例如 Harry Potter)
转到 Attribute 标签页
选择添加所有上述属性
至于填写什么内容,你来决定吧。
修改产品模板 ( yourtheme/template/product/product.tpl )
将如下代码加载31行下面 (标记着 start-end 处)
<div class="description">
....
<span><?php echo $text_stock; ?></span> <?php echo $stock; ?>
<br/><br/>
<!-- Start Additional Info -->
<?php if ($attribute_groups) { ?>
<?php foreach ($attribute_groups as $attribute_group) { ?>
<?php if ($attribute_group['name'] == 'Product Info') { ?>
<?php foreach ($attribute_group['attribute'] as $attribute) { ?>
<span><?php echo $attribute['name']; ?></span> <?php echo html_entity_decode($attribute['text']); ?><br />
<?php } ?>
<?php } ?>
<?php } ?>
<?php } ?>
<!-- End Additional Info -->
</div>
2. 修改比较页面Compare Page
打开比较页面模板Compare Template ( yourtheme/template/product/compare.tpl )
加入如下代码:
<?php if ($attribute_group['name'] != 'Product Info') { ?> <!-- line 88 -->
<?php } ?> <!-- line 108 -->
3.
你可以修改属性组名称 "Product Info" 为任何文字,只要它与 $attribute_group['name'] 过滤器.
并不仅仅指一个属性组,你可以过滤两个或三个属性组。
如果你在属性内容中加入链接<a href=".."></a> 或其他html代码内容,不要忘记使用html的编码函数。
<?php echo html_entity_decode($attribute['text']); ?>
通过一些调整,你可以在分类页面显示特定产品的属性,作为产品信息或产品标签用。
另外,你也可以将产品属性作为一个条件值进行判断,如下所示:
<?php if ( $attribute['name'] == 'prodLabel' && $attribute['text'] == 'Free Shipping') {
echo '<span class="freeShipping">'.$attribute['text'].'</span>';
} ?>
|
|