Türchen 16: Individuelle Optionen importieren
Türchen 16 macht alles ein wenig individueller mittels “individueller Optionen” oder auch Custom Options. Diese dienen dazu das der Kunde sich, ohne das es zwanghaft eine neue SKU gibt, Produkte über verschiedene Dropdowns, Radios oder Checkboxen selbst individuell konfigurieren kann. Natürlich lassen sich solche Optionen über das Magento-Model auch mit PHP automatisch importieren.
Dazu ein wenig Beispiel-Code:
$product = Mage::getModel('catalog/product')->load( 1234 );
$sizes = array('S','M','XL');
$opt = Mage::getModel('catalog/product_option');
$opt->setProduct($product);
$options = array(
'is_require' => true,
'sort_order' => '1',
'title' => 'Größe',
'type' => 'drop_down',
'values' => array()
);
foreach( $sizes AS $size ) {
$options['values'][] = array(
'price' => 0,
'price_type' => 'fixed', // 'percent'
'sku' => '',
'sort_order' => '0',
'title' => $size,
);
}
$opt->addOption($options);
$opt->saveOptions();
$product->setHasOptions(1);
$product->save();
In diesem Fall holen wir uns zuerst das Model das für individuelle Optionen zuständig ist und setzen mittels setProduct unser Produkt als Referenz. Nun können wir im Options-Array die jeweiligen individuellen Optionen hinzufügen. Dazu gehört es natürlich Preis-Type, Preis und Titel festzulegen.
Individuelle Optionen löschen?
Natürlich lassen sich die individuellen Optionen auch wieder mittels Model löschen. Auch hierzu ein wenig Beispiel-Code:
foreach ($product->getOptions() as $option) {
$option->getValueInstance()->deleteValue($option->getId());
$option->deletePrices($option->getId());
$option->deleteTitles($option->getId());
$option->delete();
}
Viel Spaß wieder beim Experimentieren!
Der Autor
Tobias Vogt arbeitet seit 2008 mit Magento und ist seit 2011 durch Magento zertifizierter Entwickler. Beschäftigt ist er bei der code-x GmbH, einer Agentur für Internet und Marketing aus Paderborn. Er gehört zum Gründer-Team der Webguys und ist seit November 2011 Bachelor of Science (Wirtschaftsinformatik). Sie erreichen Ihn per E-Mail unter tobi@webguys.de.




[...] an ihn! Nun zu seinem Beitrag: Einfache Produkte lassen sich in Magento auch einfach anlegen. Mit individuellen Optionen steht auch eine Möglichkeit zur Verfügung diese zu Individualisieren. Diese sind bei einer [...]