Magento: Individuelle Optionen (Custom Options) mit eigenem Modul anlegen
Freitag, 16. Juli 2010Magentos Individuelle Optionen (Custom Options) sind ein probates Mittel, um Artikel um spezifische Sonderoptionen zu erweitern. Die Individuellen Optionen (Custom Options) sind daher auch für den Einsatz in eigenen Magento-Extensions interessant, zumal Magento die nötigen Methoden frei Haus liefert.
Um beispielsweise den Artikel mit der ID 1 eine Custom Option des Typs Radio Buttons mit einer Auswahlmöglichkeit – im Beispiel als Erste Möglichkeit bezeichnet – per Modul hinzuzufügen, genügt der folgende Code, der beispielsweise in einem eigenen Front-Action-Controller platziert sein könnte:
$options = array(
'store_id' =>0,
'title' => 'noch ein Testtitel',
'type' => 'radio',
'is_require' => 1,
'max_characters' => null,
'values' => array(
array(
'title' =>'Erste Möglichkeit',
'price_type' =>'fixed',
'price' => 20.0000,
),
),
);
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$product = Mage::getModel("catalog/product")->load(1);
$opt = Mage::getModel('catalog/product_option');
$opt->setProduct($product);
$opt->addOption($options);
$opt->saveOptions();
$product->setRequiredOptions(true);
$product->setHasOptions(true);
$product->save();
Ein besonderes Augenmerk gilt dabei dem $options-Array, dessen Aufbau je nach Input Type variiert und penibelst den Vorgaben der entsprechenden Eingabemaske im Magento-Backend entsprechen muss.

