获取magento类别view.phtml的特定属性

Posted

技术标签:

【中文标题】获取magento类别view.phtml的特定属性【英文标题】:Get specific attribute on magento category view.phtml 【发布时间】:2012-08-22 14:28:47 【问题描述】:

我正在尝试在我的 Magento 类别页面上创建一个 Asos 样式的标题。

在这个框中,我已经拉入了类别标题和类别描述,我还有些需要从分层导航中拉入特定属性到类别 view.phtml 页面中。

目前有

<?php $prod = Mage::getModel('catalog/product')->load($productId); $att = $prod->getResource()->getAttribute('product')->getFrontend()->getValue($prod); echo $att; ?>

但它只是拉入单词No,而不是它在此特定类别的分层导航中显示的属性。

【问题讨论】:

你得到了value的属性No 【参考方案1】:

试试这个:

Mage::getResourceModel('catalog/product')->getAttributeRawValue($productId, 'attribute_code', $storeId);

感谢@Daniel Kocherga 的原始答案here。

【讨论】:

我刚刚把它改成了那个,但现在什么都没有被拉进来,应该只是 &lt;?php Mage::getResourceModel('catalog/product')-&gt;getAttributeRawValue($productId, 'product', $storeId); ?&gt; 还是我必须以某种方式回应它? 这似乎没有什么不同我现在有&lt;?php echo Mage::getResourceModel('catalog/product')-&gt;getAttributeRawValue($productId, 'product', $storeId); ?&gt; 更多的想法?如果有帮助,我正在使用 1.7.0.1。 我虽然必须将'attribute_code'参数更改为我想要显示列表的属性?我已经改回来了,但还是没有显示? 是的,您是对的,我只是没有在您发布的代码中看到它,我会尽快查看 :) 让我们continue this discussion in chat【参考方案2】:

来自 code/core/mage/catalog/block/product/view/attributes.php

   public function getAdditionalData(array $excludeAttr = array())
    
        $data = array();
        $product = $this->getProduct();
        $attributes = $product->getAttributes();
        foreach ($attributes as $attribute) 
//            if ($attribute->getIsVisibleOnFront() && $attribute->getIsUserDefined() && !in_array($attribute->getAttributeCode(), $excludeAttr)) 
            if ($attribute->getIsVisibleOnFront() && !in_array($attribute->getAttributeCode(), $excludeAttr)) 
                $value = $attribute->getFrontend()->getValue($product);

                if (!$product->hasData($attribute->getAttributeCode())) 
                    $value = Mage::helper('catalog')->__('N/A');
                 elseif ((string)$value == '') 
                    $value = Mage::helper('catalog')->__('No');
                 elseif ($attribute->getFrontendInput() == 'price' && is_string($value)) 
                    $value = Mage::app()->getStore()->convertPrice($value, true);
                

                if (is_string($value) && strlen($value)) 
                    $data[$attribute->getAttributeCode()] = array(
                        'label' => $attribute->getStoreLabel(),
                        'value' => $value,
                        'code'  => $attribute->getAttributeCode()
                    );
                
            
        
        return $data;
    

很确定这是用您的属性显示“否”或“不适用”的负责部分

【讨论】:

【参考方案3】:

我不确定,但请参阅下面的 URL。我认为这对你很有帮助。

如何在类别中的产品网格中添加属性

http://www.magentocommerce.com/wiki/4_-_themes_and_template_customization/catalog/add-attributes-to-product-grid

Magento 属性:每个类别使用不同的可过滤属性

http://www.human-element.com/Blog/ArticleDetailsPage/tabid/91/ArticleID/68/Magento-Attributes-Using-Different-Filterable-Attributes-Per-Category.aspx

在产品页面上获取 Magento 类别属性的数据

http://spenserbaldwin.com/magento/get-data-for-new-magento-category-attribute

【讨论】:

另见隐藏指定类别中的属性magentocommerce.com/boards/viewthread/215030/#t296077 阅读netismine.com/magento/get-sort-category-children-as-collection 阅读imagedia.com/2010/02/…

以上是关于获取magento类别view.phtml的特定属性的主要内容,如果未能解决你的问题,请参考以下文章

显示特定类别的magento新产品

Magento RSS源

了解 Magento 块和块类型

列表视图输出中的magento meta关键字

Magento 获取子类别/类别集合处理。编程效率

某些产品的页面Magento出现错误500