Magento: Artikeleingabemaske per Extension um benutzerdefinierte Felder erweitern

Artikel und Kategorien im Magento-Backend um benutzerdefinierte Felder erweitern

Artikel und Kategorien im Magento-Backend um benutzerdefinierte Felder erweitern

Früher oder später kommt der Punkt, an dem es nötig ist, die Eingabemasken respektive Eingabeformulare im Magento-Backend von Artikeln und Kategorien per Extension um eigene, benutzerdefinierte Felder zu erweitern.

Am schnellsten lässt sich ein Magento-Extension-Gerüst mittels des ModuleCreator erstellen. Dieses muss dann nur noch entsprechend angepasst werden:

Im ersten Schritt gilt es, die für die Ergänzung der neuen Felder benötigte Magento-Datenbankklasse Mage_Catalog_Model_Resource_Eav_Mysql4_Setup zu inkludieren, damit die darin enthaltene Methode addAttribute() zur Verfügung steht. Dazu ergänzen Sie in der Konfigurationsdatei etc/config.xml der erstellen Magento-Extension die Angabe der entsprechenden Klasse:

<setup>
  <module>my_extensionname</module>
  <class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</class>
</setup>

Im nächsten Schritt passen Sie den MySQL-Code in der Extension-Datei sql/extensionname_setup/mysql4-install-0.1.0.php an:

<?php
$installer = $this;
$installer->startSetup();

$installer->addAttribute('catalog_product','my_item',array(
     'type'        => 'int',
     'visible'      => true,
     'label'        => 'Hello World',
     'required'   => false,
     'default'     => '0',
     'group'      => 'General',
     'global'      => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
     'note'       => 'Hello World'
));

$installer->endSetup();
Magento: Der neu angelegte Enität-Typ in der Tabelle eav_attribute

Magento: Der neu angelegte Enität-Typ in der Tabelle eav_attribute

Im Beispiel fügen wir der Artikeleingabemaske unter der Rubrik “General” ein neues Feld “Hello World” hinzu. Für den neuen Entität-Typ legt Magento automatisch einen entsprechenden Eintrag in der Tabelle eav_attribute an. Der Name des neuen Entität-Typs (Spalte: attribute_code) wird vom zweiten Parameter der Methode addAttribute() – hier also “my_item” – übergeben.

Tags: ,

Hinterlasse eine Antwort