sql >> Database teknologi >  >> RDS >> Mysql

Magento:Tilføj produktattributter med modulinstallationsscript

For det første er dette ikke en gyldig config.xml. Opsætningsklassen er konfigureret som følger:

<config>
    ...
    <global>
        ...
        <resources>
            ...
            <your_module_setup>
                <setup>
                    <module>Your_Module</module>
                    <class>Mage_Eav_Model_Entity_Setup</class>
                </setup>
            </your_module_setup>
            ...
        </resources>
        ...
    </global>
    ...
</config>

i stedet for Mage_Eav_Model_Entity_Setup kan du også bruge din egen opsætningsklasse, men den skulle arve Mage_Eav_Model_Entity_Setup, så du kan bruge addAttribute i stedet for at smede SQL-forespørgslerne manuelt.

Så skulle dit opsætningsscript se sådan ud:

$installer = $this;
$installer->startSetup();
/*
 * adds product unit attribute to product
 */
$installer->addAttribute(Mage_Catalog_Model_Product::ENTITY, 'productunit_id', array(
    'label' => Mage::helper('productunits')->__('Quantity Unit'),
    'type' => 'int',
    'input' => 'select',
    'source' => SGH_ProductUnits_Model_Entity_Attribute_Source_Units::MODEL,
    'backend' => SGH_ProductUnits_Model_Entity_Attribute_Backend_Units::MODEL,
    'required' => 1,
    'global' => 1,
    'note' => Mage::helper('productunits')->__('This will be displayed next to any Qty value.')
));
$installer->endSetup();

Det er min kode, der tilføjer en kvantitetsenhedsattribut, lad dig ikke forvirre af brugen af ​​klassekonstanter, det er kun de tilsvarende klassealiasser.



  1. Brug Opret erklæring til at oprette tabel i SQL Server - SQL Server / T-SQL selvstudie del 34

  2. Forklar JOIN vs. LEFT JOIN og WHERE-tilstandsforslag mere detaljeret

  3. Udvikling af PostgreSQL til Windows, del 3

  4. Java Multicast Time To Live er altid 0