sql >> Databáze >  >> RDS >> Mysql

Magento:Přidejte atributy produktu pomocí instalačního skriptu modulu

Za prvé, toto není platný soubor config.xml. Třída nastavení je nakonfigurována následovně:

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

místo Mage_Eav_Model_Entity_Setup můžete také použít svou vlastní třídu nastavení, ale měla by zdědit Mage_Eav_Model_Entity_Setup, takže místo ručního falšování SQL dotazů můžete použít addAttribute.

Potom by váš instalační skript měl vypadat podobně jako tento:

$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();

Je to můj kód, který přidává atribut jednotky množství, nenechte se zmást použitím konstant třídy, to jsou pouze odpovídající aliasy třídy.



  1. Jak rozdělit tabulku MySQL na základě sloupce znaků?

  2. Vyberte tři nejlepší hodnoty v každé skupině

  3. FLUTTER&PHP - Nemohu odesílat příspěvky do databáze mysql z mé aplikace flutter

  4. mysql ERROR 1426 (42000):Příliš velká přesnost 14 zadaná pro sloupec 'čas'. Maximální mamince je 6