Magento:如何在PHP中用属性date显示日期

Magento:如何在PHP中用属性date显示日期,php,magento,date,attributes,Php,Magento,Date,Attributes,我创建了一个名为pdmset1和pdmset2的属性集,其中pdmset1是一个YES/NO属性,pdmset2是一个日期 我通过下面的php代码来响应这两种方法 echo "PDMSET1: " . Mage::getModel('catalog/product')->load($_product->getId())->getAttributeText('pdmset1') echo "PDMSET2: Mage::getModel('catalog/product')-

我创建了一个名为pdmset1和pdmset2的属性集,其中pdmset1是一个YES/NO属性,pdmset2是一个日期

我通过下面的php代码来响应这两种方法

 echo "PDMSET1: " . Mage::getModel('catalog/product')->load($_product->getId())->getAttributeText('pdmset1')
 echo "PDMSET2: Mage::getModel('catalog/product')->load($_product->getId())->getAttributeText('pdmset2')
输出如下:

>> PDMSET1: YES 
>> PDMSET2: 

所以在我看来PDMSET2是空的。有人能给我解释一下我做错了什么,或者更好的解释一下我该怎么做,这样我才能得到PDMSET2的正确日期吗?如果您的属性设置正确,您应该能够执行$product->getData('PDMSET2')。 代码的问题在于getAttributeText()方法用于获取使用源的属性(如下拉选择框),如Mage_Catalog_Model_Product中所示:

public function getAttributeText($attributeCode)
    {
        return $this->getResource()
            ->getAttribute($attributeCode)
                ->getSource()
                    ->getOptionText($this->getData($attributeCode));
    }
您的“是/否”是一个select,因此getAttributeText可以工作,但对于date,您应该只使用getData,您的代码应该如下所示:

$product = Mage::getModel('catalog/product')->load($_product->getId());
echo $product->getAttributeText('pdmset1');
echo $product->getData('pdmset2');   // or $product->getPdmset2();

还要注意,使用id加载对象会消耗内存,因此您应该尽量不要多次调用Mage::getModel('catalog/product')->load($\u product->getId())。如果您不止一次地使用它,那么最好将对象赋给一个变量并重用它。

您的代码在语法上是无效的。请把你的密码贴出来。