Wie stelle ich eine benutzerdefinierte Option vom Typ "Datei" ein, wenn ich ein Produkt in Magento in den Warenkorb lege?

Mit meinem eigenen Controller füge ich ein Produkt zum Magento-Warenkorb hinzu. Es gibt 3 benutzerdefinierte Optionen: 2 Dropdown-Optionen (Farbe und Größe) und eine Dateioption (Design). Der Code, mit dem das Produkt in den Warenkorb gelegt wird, lautet

// obtain the shopping cart
$cart = Mage::getSingleton('checkout/cart');

// load the product
$product = Mage::getModel('catalog/product')
    ->load($productId);

// do some magic to obtain the select ids for color and size ($selectedSize and $selectedColor)
// ...

// define the buy request params
$params = array(
    'product'       => $productId,
    'qty'           => $quantity,
    'options'       => array(
        $customOptionSize->getId()  => $selectedSize,
        $customOptionColor->getId() => $selectedColor,

        // set the file option, but how? 
    ),
);

// add this configuration to cart
$cart->addProduct($product, $paramObject);
$cart->save();

// set the cart as updated
Mage::getSingleton('checkout/session')->setCartWasUpdated(true);

Meine Frage lautet: Wie hänge ich eine bestimmte Datei an die Entwurfsoption an?

Die Datei wurde bereits auf die Serverseite übertragen (tatsächlich über die Anfrage). Ich könnte jedoch das Hochladen vortäuschen, wenn dies erforderlich wäre. Bisher habe ich jedoch keine einzige Informationsquelle zum Festlegen von benutzerdefinierten Dateioptionen gefunden ...

Meine beste Vermutung aus einer Tour durch die Magento-Quellen ist, dass die Kaufanfrage einige zusätzliche Daten benötigt (nicht in den Optionen, sondern im params-Objekt), wie: option_123_file => etwas, aber was genau benötigt wird, habe ich nicht herausgefunden noch. Dieser Teil der Magento-Quellen ist eher, äh, nicht so einfach. Danke für jede Hilfe.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage