Magento Keine benutzerdefinierten Attribute zum flachen Tisch hinzufügen ..... Ich habe eine Marktplatzerweiterung ... die einige Attribute hat, aber einige Attribute, die nicht zum flachen Tisch hinzugefügt werden ... weil meine Erweiterung nicht funktioniert ....
Attributeinstellung ist ...
$catalogEavSetup->addAttribute(Mage_Catalog_Model_Product::ENTITY, 'approval', array(
'group' => 'General',
'sort_order' => 21,
'type' => 'int',
'backend' => '',
'frontend' => '',
'label' => 'Approval',
'note' => '',
'input' => 'select',
'class' => '',
'source' => 'vendorsproduct/source_approval',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'visible' => true,
'required' => false,
'user_defined' => false,
'default' => '1',
'visible_on_front' => false,
'unique' => false,
'is_configurable' => false,
'used_for_promo_rules' => false,
'used_in_product_listing' => true,
));
Die gesamte Einstellung ist korrekt. Aber aufgrund des MySQL-Limits 65536 ... werden einige Attribute nicht zu flachen Tabellen hinzugefügt. Ich muss wissen, wie diese Attribute in flachen Tabellen hinzugefügt werden.
quelle
Eine andere Möglichkeit, Attribute zu flachen Tabellen hinzuzufügen, besteht darin, sie in Ihrem
config.xml
Frontend-Bereich festzulegen ...quelle
Für mich war es genug, nur "used_in_product_listing" => true zu setzen
Führen Sie catalog_product_flat reindex aus, um das Produktattribut in der flachen Tabelle abzurufen:
quelle
quantity_and_stock_status
speziell)?Wie bereits in anderen Antworten erwähnt, müssen Sie
used_in_product_listing
auf einstellen1
.Da Sie jedoch ein Quellmodell (
'source' => 'vendorsproduct/source_approval',
) definiert haben, benötigen Sie möglicherweise einen zusätzlichen Schritt:In Ihrem Quellmodell haben Sie höchstwahrscheinlich erweitert
Mage_Eav_Model_Entity_Attribute_Source_Abstract
und bereits implementiertgetAllOptions
.Sie müssen jedoch auch zwei weitere Methoden implementieren:
getFlatColums
(Dies ist kein Tippfehler, es gibt kein "n")getFlatUpdateSelect
Nehmen Sie zum Implementieren ein Beispiel aus dem nativen Magento-Quellmodell
Mage_Eav_Model_Entity_Attribute_Source_Boolean
.Hier ist ein Beispiel dafür, was Sie am Ende haben sollten:
quelle