Wie erhalte ich andere Herstellerattribute als ID und Name auf der Produktlisten- und Detailseite?
-
29-09-2020 - |
Frage
Ich habe der Tabelle ein Feld „is_hide_price“ hinzugefügt Marke.Jetzt möchte ich diesen Feldwert auf der Produktliste und auf der Detailseite erhalten.
Ich habe folgende Codes ausprobiert:
$_productId = 1782;
$_product = Mage::getModel('catalog/product')->load($_productId);
// Get manufacturer name
$_manufacturerName = $_product->getAttributeText('manufacturer');
// Get manufacturer id
$_manufacturerId = $_product->getManufacturer();
BEARBEITET:
Modell:
class Onsis_Brand_Model_Brand extends Mage_Core_Model_Abstract
{
public function _construct()
{
parent::_construct();
$this->_init('brand/brand');
}
}
Auf der Produktlistenseite:
$manufacturer = Mage::getModel('brand/brand')->load($product->getManufacturer());
try {
Zend_Debug::dump($manufacturer->isHidePrice());exit;
} catch (Exception $ex) {
echo $ex->getMessage();exit;
}
Ausgabe:
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) {
}
}
Lösung
Gemäß dem Code teilen Sie:
verwenden getIsHidePrice()
zum Abrufen von Daten von is_hide_price
Feld.
Um Daten aus einem beliebigen Feld zu erhalten, versuchen Sie es mit dem folgenden Format
$manufacturer->getData('fieldname')
In diesem Prozess oder Verwendung Magische Setter- und Getter-Methode
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange