1-自定义属性时,必须将Used in Product Listing这个选项选为:Yes
2-打开须要调用的phtml模板,如:categories page, open:app\design\frontend\default\f001\template\catalog\product\list.phtml
3-根据你定义属性的类型不同,加入不同的代码,现以Color与Yield_Oem为例,具体请看以下:
3.1-新增的属性为下拉菜单类型(Dropdown)和多项选择类型(Multiple Select):
<div class="listattribute"> <div class="listColor"><strong><?php echo $this->__('--Color:') ?></strong><?php echo $_product->getAttributeText('color') ?></div> <div class="listYield"><strong><?php echo $this->__('--Yield:') ?></strong><?php echo $_product->getAttributeText('yield_oem') ?> </div> </div>
3.2-新增的属性为文本或文本域类型(Text Field or Text Area):
<div class="listattribute"> <div class="listColor"><strong><?php echo $this->__('--Color:') ?></strong><?php echo $_product->getColor() ?></div> <div class="listYield"><strong><?php echo $this->__('--Yield:') ?></strong><?php echo $_product->getYield_Oem() ?></div> </div>
3.3.你新增的属性为文本或文本域类型(Text Field or TextArea),那么你的代码应为:
< ?php echo$_product->getAttributeName()?>
例如,你新增了一个属性代码(Attribute Code)为 shoe_size的属性,那么你的调用代码应写成下面格式:
< ?php echo$_product->getShoeSize()?>
你应该把去掉下划线,并且第一字母大写,然后替代AttributeName ,如果你使用的是getshoesize() ,magento将无法工作。
自定义属性调用方法二: 若上述还是调用不成功,说明该模板没有包含调用此属性 ,方法如下:
<!--pgl--><?php $_product = Mage::getModel('catalog/product')->loadByAttribute('sku', $_item->getSku()); ?> <div class="listYield"><strong><?php echo $this->__('--Yield:') ?></strong><?php echo $_product->getAttributeText('yield') ?> </div> <div class="listColor"><strong><?php echo $this->__('--Color:') ?></strong><?php echo $_product->getAttributeText('color') ?> <?php $getcolor = $_product->getAttributeText('color');?> <?php if($getcolor == "C"):?> <?php echo "<span style='color:#009ee0;font-size:16px;'>●</span>";?> <?php elseif ($getcolor == "Y"):?> <?php echo "<span style='color:#ffff00;font-size:16px;'>●</span>";?> <?php elseif ($getcolor == "M"):?> <?php echo "<span style='color:#e2007a;font-size:16px;'>●</span>";?> <?php elseif ($getcolor == "BK"):?> <?php echo "<span style='color:black;font-size:16px;'>●</span>";?> <?php endif ?> </div> <div class="listOem"><strong><?php echo $this->__('Model:') ?></strong><?php echo $_product->getAttributeText('oem') ?></div> <!--pgl-->
以下为magento默认属性调用方法:
1-简单描述(short description):
<?php echo $this_helper(‘catalog/output’)->productAttribute($_product, nl2br($_product->getShortDescription()), ’short_description’) ?>
2-描 述(description):
<?php echo $this->helper(‘catalog/output’)->productAttribute($this->getProduct(), nl2br($this->getProduct()->getDescription()), ‘description’) ?>
3-产品名称(name):
<?php echo $_helper->productAttribute($_product, $this->htmlEscape($_product->getName()), ‘name’) ?>
4-产品编号(sku):
<?php echo $this->htmlEscape($_product->getSku()) ?>
5-产品价格(price):
<?php echo $_coreHelper->currency($_finalPrice,true,false) ?>
6.自定义一个TEXT文本属性调用
<?php echo $_product->getResource()->getAttribute('buyurl')->getFrontend()->getValue($_product); ?>
Please indicate: 无趣的人生也产生有意思的事件 » magento产品页面调用属性