AddonValues eines Artikels speichern ohne productWriteService->updateProduct

Thema wurde von Kai Stejuhn, 5. Oktober 2020 erstellt.

  1. Kai Stejuhn

    Kai Stejuhn Beta-Held

    Registriert seit:
    26. September 2014
    Beiträge:
    1.403
    Danke erhalten:
    707
    Danke vergeben:
    92
    Hallo,

    vielleicht kann mir jemenad weiterhelfen. Ich möchte bei den Artikeln im Shop die AddonValues verändern. Bisher habe ich immer folgenden Code genutzt:
    PHP:
    $product $productReadService->getProductById(new IdType($products_id));

    $addonValues $product->getAddonValues()->getArray();
    $addonValues['autostaffel'] = 0;
    $addonValueCollection MainFactory::create('KeyValueCollection'$addonValues);

    $product->addAddonValues($addonValueCollection);

    $productWriteService->updateProduct($product);
    Da ich aber über 4.500 Artikel anpassen muss, braucht der productWriteService mit dem updateProduct() sehr viel Zeit, so dass ich in einen Timeout laufe. Kann man die AddonValues auch ohne "productWriteService->updateProduct($product)" aktualisieren?
     
  2. Wilken (Gambio)

    Wilken (Gambio) Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.309
    Danke vergeben:
    2.208
    Es wär nicht gut das zu umgehen, das reisst dir andere Löcher auf. Wenns ein älterer Shop sein sollte: Addonvalues hat jüngst einige Indizes im SQL bekommen, vielleicht fehlen die da noch.
     
  3. Kai Stejuhn

    Kai Stejuhn Beta-Held

    Registriert seit:
    26. September 2014
    Beiträge:
    1.403
    Danke erhalten:
    707
    Danke vergeben:
    92
    Ich möchte da nichts umgehen, ich hatte nur die vage Hoffnung, dass es evtl. ein "UpdateAddonValues" geben würde, den ich noch nicht gefunden habe, Im Augenblick ist es ja so, das jedes mal der komplette Artikel aktualisiert wird, was natürlich einiges an Zeit verbraucht. Wenn es nun eine Funtion/Methode gebe würde, bei der nur die Addonvalues zurückgeschrieben werden, dann würde es deutlich schneller gehen.

    Der Shop ist nicht wirklich alt, ist ein Test-Shop mit 4.2.0.0.