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.454
    Danke erhalten:
    743
    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.311
    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.454
    Danke erhalten:
    743
    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.