2013-03-02 205 views
0

我是Magento的新手,也许是一个非常基本的问题,但我想在我的主页上显示预购产品。我创建了一个属性Product_Release_Date并将其设置为未来日期。当我试图让Product_Release_Date返回空白。我做错了什么?Magento预购产品有日期属性

$_productCollection=$this->getLoadedProductCollection(); to get all products 
foreach ($_productCollection as $_product): 
<?php $currentDate = Mage::getModel('core/date')->date('Y-m-d H:i:s'); to get current date for compare 

echo $_product->getResource()->getAttribute('Product_Release_Date'); 

当我尝试显示其显示空白,但它返回productName和其他东西。只有这个日期没有显示。请帮助或提供一些教程,其中介绍了如何启用预购。

回答

0

$_product->getResource()->getAttribute('Product_Release_Date');行只加载属性集合。您可以在完成后查看它包含的内容:var_dump($_product->getResource()->getAttribute('Product_Release_Date'));。如果它是NULL,那么请确保您的新属性确实设置为Product_Release_Date而不是product_release_date(小写)。

您可以使用“魔术得到”检索值,就像这样:

echo $_product->getProductReleaseDate(); 

这里是如何启用外的库存物品显示一个相当新的教程:

http://www.inmotionhosting.com/support/edu/magento/103-magento-products-and-inventory-settings/how-to-display-products-that-are-out-of-stock-in-magento

+0

感谢您的回复,我做的var_dump上$ _product-> getProductReleaseDate();但它返回NULL,但它有价值,我可能做错了。 – user1404954 2013-03-02 14:44:55

+0

如果$ _product-> getProductReleaseDate()返回null,那么可能属性“Product_Release_Date”不在加载的产品集合数据中。找到我的答案。 – Haijerome 2013-03-02 14:50:07

+0

是的,试试@ Haijerome的回答。一定要仔细检查你的变量的情况。您是以“Product_Release_Date”还是“product_release_date”的身份输入的?祝你好运! – seanbreeden 2013-03-02 15:02:34

0

产品属性“Product_Release_Date”很可能不在加载的产品集合中。

如果你需要得到它然后加载产品Magento的产品资源模型

$productCollection = Mage::getResourceModel('catalog/product_collection')->addAttributeToSelect('*'); 

foreach($productCollection as $product): 
    echo '<br/>' . $product->getProductReleaseDate(); 
endforeach; 
+1

这将显示所有的产品。在他的情况下,他可以尝试:'$ _productCollection = $ this-> getLoadedProductCollection() - > addAttributeToSelect('*');' – seanbreeden 2013-03-02 15:06:05

+0

@seanbreeden是的,他想加载所有产品,因为我们可以从他的代码评论 – Haijerome 2013-03-02 15:10:22

+0

我在演示他可以将addAttributeToSelect添加到现有的已加载集合中。 – seanbreeden 2013-03-02 15:14:24