如何在产品列表和详细页面上获取id和名称以外的制造商属性?
-
29-09-2020 - |
题
我在表中添加了一个字段'is_hide_price'品牌。 现在我想在产品列表和详细信息页面上获取此字段值。
我已经尝试了以下代码:
$_productId = 1782;
$_product = Mage::getModel('catalog/product')->load($_productId);
// Get manufacturer name
$_manufacturerName = $_product->getAttributeText('manufacturer');
// Get manufacturer id
$_manufacturerId = $_product->getManufacturer();
.
编辑:
型号:
class Onsis_Brand_Model_Brand extends Mage_Core_Model_Abstract
{
public function _construct()
{
parent::_construct();
$this->_init('brand/brand');
}
}
.
在产品上市页面页面:
$manufacturer = Mage::getModel('brand/brand')->load($product->getManufacturer());
try {
Zend_Debug::dump($manufacturer->isHidePrice());exit;
} catch (Exception $ex) {
echo $ex->getMessage();exit;
}
.
输出:
Invalid method Onsis_Brand_Model_Brand::isHidePrice(Array ( ) )
$manufacturer = Mage::getModel('brand/brand')->load($product->getManufacturer());
Zend_Debug::dump($manufacturer);exit;
.
object(Onsis_Brand_Model_Brand)#753 (15) {
["_eventPrefix":protected] => string(13) "core_abstract"
["_eventObject":protected] => string(6) "object"
["_resourceName":protected] => string(11) "brand/brand"
["_resource":protected] => NULL
["_resourceCollectionName":protected] => string(22) "brand/brand_collection"
["_cacheTag":protected] => bool(false)
["_dataSaveAllowed":protected] => bool(true)
["_isObjectNew":protected] => NULL
["_data":protected] => array(8) {
["brand_id"] => string(2) "41"
["title"] => string(15) "Elite Leather A"
["filename"] => string(0) ""
["content"] => string(46) "Elite Leather Items that are listed indivually"
["status"] => string(1) "1"
["is_hide_price"] => string(1) "1"
["created_time"] => string(19) "2016-04-25 05:17:14"
["update_time"] => string(19) "2016-04-25 05:17:14"
}
["_hasDataChanges":protected] => bool(false)
["_origData":protected] => array(8) {
["brand_id"] => string(2) "41"
["title"] => string(15) "Elite Leather A"
["filename"] => string(0) ""
["content"] => string(46) "Elite Leather Items that are listed indivually"
["status"] => string(1) "1"
["is_hide_price"] => string(1) "1"
["created_time"] => string(19) "2016-04-25 05:17:14"
["update_time"] => string(19) "2016-04-25 05:17:14"
}
["_idFieldName":protected] => NULL
["_isDeleted":protected] => bool(false)
["_oldFieldsMap":protected] => array(0) {
}
["_syncFieldsMap":protected] => array(0) {
}
}
. 解决方案
按照,您分享代码:
使用getIsHidePrice()
获取is_hide_price
字段的数据。
用于获取任何字段的数据,请尝试以下格式
$manufacturer->getData('fieldname')
.
在此过程中或使用 magic setter和getter方法