sql >> Databasteknik >  >> RDS >> Mysql

Magento:Lägg till produktattribut med modulinstallationsskript

För det första är detta inte en giltig config.xml. Inställningsklassen konfigureras enligt följande:

<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>

istället för Mage_Eav_Model_Entity_Setup kan du också använda din egen inställningsklass men den bör ärva Mage_Eav_Model_Entity_Setup, så du kan använda addAttribute istället för att förfalska SQL-frågorna för hand.

Då bör ditt installationsskript se ut så här:

$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 är min kod som lägger till ett kvantitetsenhetsattribut, bli inte förvirrad av användningen av klasskonstanter, det är bara motsvarande klassalias.



  1. Hur man visar en rullgardinslista med ett förvalt alternativ

  2. MySQL group by and max returnerar fel rader

  3. Importera export mysql databas kommandorad supersnabb

  4. Förbättra frågehastighet:enkelt SELECT i stora postgres-tabellen