Ich habe erfolgreich ein benutzerdefiniertes Produkt-Multiselect-Attribut erstellt.
Aber wenn ich das Produkt in admin bearbeite und einige Optionen (Länder) meines Multiselect-Attributs auswähle und wenn ich auf Speichern klicke, wird es erfolgreich gespeichert.
Wenn ich jedoch dasselbe Produkt erneut öffne, wird es nicht vor den ausgewählten Optionen angezeigt. Dies bedeutet, dass mein benutzerdefiniertes Produktattribut nicht im Produktmodell gespeichert wird.
Kannst du bitte jemandem helfen? Ich bin sehr müde. Und ich habe viele Stunden versucht. Dann platziere ich hier.
etc / config.xml Datei
<config>
<modules>
<Exinent_Shiplimit>
<version>0.1.0</version>
</Exinent_Shiplimit>
</modules>
<global>
<models>
<checkout>
<rewrite>
<type_onepage>Exinent_Shiplimit_Model_Checkout_Type_Onepage</type_onepage>
</rewrite>
</checkout>
</models>
<resources>
<exinent_shiplimit_setup>
<setup>
<module>Exinent_Shiplimit</module>
<class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</class>
</setup>
</exinent_shiplimit_setup>
</resources>
</global>
</config>
app \ code \ local \ Exinent \ Shiplimit \ sql \ exinent_shiplimit_setup \ mysql4-install-0.1.0.php
<?php
$installer = $this;
/* @var $installer Mage_Catalog_Model_Resource_Eav_Mysql4_Setup */
$installer->startSetup();
$installer->addAttribute(
'catalog_product',
'custom_countries',
array(
'group' => 'General',
'type' => 'varchar',
'backend' => '',
'user_defined' => '1',
'frontend' => '',
'label' => 'Shipping Restricted Countries',
'input' => 'multiselect',
'source' => 'Mage_Catalog_Model_Product_Attribute_Source_Countryofmanufacture',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_WEBSITE
)
);
$installer->updateAttribute('catalog_product', 'custom_countries', 'backend_model', '');
$installer->endSetup();
?>
quelle
addAttribute
in Setup-Skripten verwenden, ist es "Backend". In allen anderen Fällen (updateAttribute
oder direkt in der Datenbank) ist es "backend_model".