您好我使用以下代码获得了产品的最大元素,但它没有显示产品<{strong>的size attribute
,大小属性在前端可见,但我不明白为什么不用这段代码打印
<?php
ob_start();
session_start();
ini_set('display_errors', 1);
//for order update
include '../../../../app/Mage.php';
Mage::app('default');
echo '<pre>';
if(isset($_REQUEST['productid'])){
$productId = $_REQUEST['productid'];
}else{
$productId = '12402'; // product ID 10 is an actual product, and used here for a test
}
$product = Mage::getModel('catalog/product')->load($productId); //load the product
//$product_id = $product->getId();
//$created_at = $product->getcreated_at();
//$description = $product->getdescription();
//$short_description = $product->getshort_description();
//$sku = $product->getsku();
//$size_fit = $product->getsize_fit();
//$style_ideas = $product->getstyle_ideas();
//$name = $product->getname();
//$price = $product->getprice();
//$stocklevel = (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($product)->getQty();
答案 0 :(得分:3)
如果是size_fit属性(我猜这是因为它是你代码中唯一的大小尝试......)使用$product->getSizeFit()
。仅限大小使用$product->getSize()
。如果没有返回任何内容,请发布属性安装程序(如果有)。 Mufadall他的回答也是正确的,但判断你的代码只是使用了错误的语法。
基本上根据魔法获取方法,第一个字母变为大写字母,所有其他字母变成下划线。
例如:要抓取my_sample_attribute
,请使用getMySampleAttribute()
。
getData('my_sample_attribute')
也是一个选项,但你不应该这样做,因为在某些情况下,对于某些属性getData('attribute')
会返回一个不同的值,然后getAttribute()
...
答案 1 :(得分:2)
$product->getData($attribute_code);
将返回实际的属性值。对于带有类型下拉列表的属性,它将返回选项ID
$product->getResource()->getAttribute($attribute_code)->getFrontend()->getValue($product);
将返回实际值
答案 2 :(得分:1)
您可以使用:
$product->getData('Your Attribute ID');
答案 3 :(得分:0)
转到尺寸属性并检查产品列表中使用的下拉菜单,如果设置为否,则将其设置为是,之后您可以使用其他产品属性获取尺寸属性
答案 4 :(得分:0)
您可以使用getters或getData(); getter使用magic __get()方法设置为magento,您可以通过以下方式使用它:
$product->getDescription() // ( to get description attribute)
$product->getShortDescription() // (to get short_description attribute)
所以基本上你用下划线爆炸属性,然后大写单词,你将得到你在“获取”之后需要放的东西。
这是我一直非常有用的东西
Zend_Debug::dump($product->getData());
这可以获取您必须使用的所有数据。如果您缺少数据,则表示未加载数据。
祝你好运!