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!



Ein Beitrag von Tobias Vogt
Tobias's avatar

Tobias Vogt arbeitet seit 2008 mit Magento und ist seit 2011 durch Magento zertifizierter Entwickler. Seit 2016 ist er Mitgründer und CTO bei der connect-io GmbH, einer Magento-Agentur mit Sitz im idyllischen Paderborn-Salzkotten. 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.

Alle Beiträge von Tobias

Kommentare
Türchen 21: Konfigurierbare Produkte anlegen | Magento eCommerce, Webshop, Reddot - webguys.de am

[...] 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 [...]

Dein Kommentar