Magento获取属性

时间:2011-05-14 17:12:30

标签: php mysql magento

我有一个Magento商店并且里面有一些属于“contrast_ratio”属性的电视。

我需要从.phtml文件中获取此属性,并尝试并按照教程2天。

任何人都可以帮忙吗?

我正在运行magento 1.4.2

2 个答案:

答案 0 :(得分:3)

试试这个:

$_product->getResource()->getAttribute('contrast_ratio')->getFrontend()->getValue($_product);

其他选项包括:

$_product->getAttributeText('contrast_ratio')

答案 1 :(得分:0)

我找到了一种方法来获得我想要的结果。

显然我的属性没有加载到我的收藏中,所以我重新编写了我的代码并按照自己的方式完成了这些工作。

我的任务是创建属性“类别中的功能?”所以带有“是”的产品会出现在类别列表之前。以场对比率为例。

我愿意分享这个,所以这是我的代码......

感谢大家的帮助,让我走向正确的方向:))

<?php

Mage::getSingleton('catalog/layer')->setData("product_collection",NULL);
$this->_productCollection = null;
$_productCollection=$this->getLoadedProductCollection();

$currentCategory = Mage::registry('current_category');

$_products = Mage::getModel('catalog/product')
  ->getCollection()
  ->addAttributeToSelect(array('name','short_description','product_url','small_image'))
  ->addAttributeToFilter('seen_first', array('like' => '%1%'))
  ->addCategoryFilter($currentCategory)
  ->load();
  $_collectionSize = sizeof($_products);

?>


<?php if(!sizeof($_products)): ?>
<!--<div class="padder">
<div class="note-msg">
<?php echo $this->__('There are no products matching the selection.') ?>
</div>
</div>-->
<?php else: ?>

<?php

// Grid Mode ?>
<div class="listing-type-grid catalog-listing padder"> <!-- the class name will change to .listing-type-cell if viewing in list mode -->

<?php $_items = $_productCollection->getItems();
shuffle($_items); ?>

<div class="price_omg_random_products_container">
<table class="price_omg_random_products" cellspacing="0" class="generic-product-grid" id="product-list-table">
<?php $i=0; foreach ($_products as $_product): ?>
<?php if ($i++%4==0): ?>
<tr>
<?php endif ?>
<td>
<p class="product-image">
<a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>">
<img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(110, 110); ?>" alt="<?php echo $this->htmlEscape($_product->getName()) ?>"/>
</a>
</p>
<h5><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>"><?php echo '<span class="price_omg_random_products_title">'.$this->htmlEscape($_product->getName()).'</span>' ?></a></h5>
<?php if($_product->getRatingSummary()): ?>
<!--?php echo $this->getReviewsSummaryHtml($_product, 'short') ?-->
<?php echo $this->getReviewsSummaryHtml($_product) ?>
<?php endif; ?>

<?php


 ?>

<div class="clear"></div>
<ul class="add-to">

<?php 

echo nl2br($_product->getShortDescription());

 if($_additional = $_product->getAdditionalData()): ?>

    <h2><?php echo $this->__('Additional Information') ?></h2>
    <table class="data-table" id="product-attribute-specs-table">
        <col width="25%" />
        <col />
        <tbody>
        <?php foreach ($_additional as $_data): ?>
            <tr>
                <th class="label"><?php echo $this->htmlEscape($this->__($_data['label'])) ?></th>
                <td class="data"><?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
            </tr>
        <?php endforeach; ?>
        </tbody>
    </table>
    <script type="text/javascript">decorateTable('product-attribute-specs-table')</script>
<?php endif;?>

<?


if($_product->isSaleable()): ?>
<li class="add-to-cart-textlink">
<p>
<?php 
      echo '<span class="price_omg_random_products_price" >&euro;'.number_format($_product->getPrice(), 2, '.', '').'</span>';
?>
<!--<button type="button" title="<?php echo $this->__('Info') ?>" class="button" onclick="setLocation('<?php echo $_product->getProductUrl() ?>')"><span><span class="button_info"><?php echo $this->__('Info') ?></span></span></button>-->
<button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button>
</p>
<!--<a href="#" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span>Add to Cart</span></a>-->
</li>
<?php else: ?>
<li><?php echo $this->__('Out of stock') ?></li>
<?php endif; ?>
<?php

if ($i==4) break; // show 4 products max ?>

<?php endforeach ?>
<?php for($i;$i%4!=0;$i++): ?>
<td class="empty-product">&nbsp;</td>
<?php endfor ?>
<?php if ($i%4==0): ?>
</tr>
<?php endif ?>
</table>
</div>
<script type="text/javascript">decorateTable('product-list-table')</script>
</div>

<?php endif; ?>