我为管理员介绍了产品的属性,并为特定产品分配了一个值以获取其价值。但是价值没有出现在前端,我尝试了所有推荐的方法,但无法得到它。然后我用print_r($_product->debug())
继续进行调试。此调试向我展示了以下行为:
Array
(
[store_id] => 1
[entity_id] => 339
[_cache_instance_products] => Array
(
[0 (Mage_Catalog_Model_Product)] => Array
.
.
.
[419 (Mage_Catalog_Model_Product)] => Array
(
[entity_id] => 1210
[entity_type_id] => 4
[prd_help_tab] => This is testing help for "Mobster US e-liquid"
)
)
)
属性名称是“prd_help_tab”,它的值在那里,但它在_cache_instance_products =>里面。 419(Mage_Catalog_Model_Product)=> prd_help_tab
我的问题是如何在模板文件中获取此值?因为该值仅在上面提到的层次结构中。
经过进一步调查后,我发现“可配置产品”中出现了这个问题。
答案 0 :(得分:3)
你应该能够
$_product->getPrdHelpTab();
尝试在收集产品时添加
$_productCollection->addAttributeToSelect("prd_help_tab");
通过将管理中的属性设置为“在产品列表中使用”然后重新编制索引,确保管理中的属性包含在平面表中
答案 1 :(得分:0)
第一: 确保admin config中的属性在目录列表和产品视图布局中设置为可见。
简单: Magento具有通过名称调用值的层次结构,但是在页面上必须为正确的产品加载Magento库和产品帮助程序(通过调试得到它)$ _product = $ this-> getProduct();
要求您的价值看起来像:$ _product-> getPrdHelpTab();
或者,如果没有工作,请致电:
<?php
$_helper = $this->helper('catalog/output');
$_product = $this->getProduct()
?>
<?php if($_additional = $this->getAdditionalData()): ?>
<?php foreach ($_additional as $_data): ?>
<?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?>
<?php endforeach;?>
<script type="text/javascript">decorateTable('product-attribute-specs-table')</script>
<?php endif; ?>
答案 2 :(得分:0)
<?php echo $_product->getAttributeText('custom attribute'); ?></span>
答案 3 :(得分:0)
您只需在custom_pro_name的位置编写您的属性代码,以获取view.phtml产品页面中的显示值。
<?php echo $_helper->productAttribute($_product, nl2br($_product->getcustom_pro_name()), 'custom_pro_name')
如果您有群组产品,请在group.phtml页面
中编写此代码$this->escapeHtml($_item->getfirst_avail())