xtramen Posted October 29, 2015 Share Posted October 29, 2015 (edited) Hallo Leute, ich will gerade die Mengen per CSV aktualisieren. Dabei fällt mir auf, wenn die Menge 0 ist, dann wird der Artikel nicht aktualisiert. Bei allen anderen Mengenangaben klappt das. Hat jemand eine Idee? Also besser gesagt, die Artikel sollen als ausverkauft geflaggt werden aber nicht aus dem Shop verschwinden. Gruß und Danke Edited October 29, 2015 by xtramen (see edit history) Link to comment Share on other sites More sharing options...
mn666 Posted November 4, 2015 Share Posted November 4, 2015 Hallo, ich habe das gleiche Problem. Es funktioniert nur, wenn das Produkt im Backend abgespeichert wird. Ich hatte hier im Forum auch schon die Frage gestellt, ob man nicht alle Produkte auf einmal abspeichern kann. https://www.prestashop.com/forums/topic/477002-alle-produkte-auf-einmal-speichern/ Bisher leider ohne Antwort. Link to comment Share on other sites More sharing options...
Whiley Posted November 4, 2015 Share Posted November 4, 2015 Hallo, beim Import wird überprüft ob der Wert für die Menge =0 ist, wenn ja wir die Aktualisierung übersprungen, man möchte damit wohl verhindern, daß bei nichtgesetzter Menge die Bestände alle auf Null gesetzt werden. Wenn ihr euch dessen bewußt seid könnt ihr folgende Änderung (Prestashop 1.6.1.2) vornehmen: in der Datei /controllers/admin/AdminImportController.php sheht ca bei Zeile 1935 // This code allows us to set qty and disable depends on stock if (isset($product->quantity) && (int)$product->quantity) { // if depends on stock and quantity, add quantity to stock if ($product->depends_on_stock == 1) { $stock_manager = StockManagerFactory::getManager(); $price = str_replace(',', '.', $product->wholesale_price); if ($price == 0) { $price = 0.000001; } $price = round(floatval($price), 6); $warehouse = new Warehouse($product->warehouse); if ($stock_manager->addProduct((int)$product->id, 0, $warehouse, (int)$product->quantity, 1, $price, true)) { StockAvailable::synchronize((int)$product->id); } } else { if ($shop_is_feature_active) { foreach ($shops as $shop) { StockAvailable::setQuantity((int)$product->id, 0, (int)$product->quantity, (int)$shop); } } else { StockAvailable::setQuantity((int)$product->id, 0, (int)$product->quantity, (int)$this->context->shop->id); } } Die beiden rot markierten Zeilen (also auch die geschweifte Klammer zu in zweitunterster Zeile) müßt ihr löschen. Abspeichern, Smarty-Cache Löschen. Compile Cache Löschen. Browser-Cache Löschen - danach wird die Null akzeptiert. (Vor der Änderung natürlich eine Sicherung machen) Grüsse Whiley Link to comment Share on other sites More sharing options...
jwimmer Posted April 18, 2017 Share Posted April 18, 2017 Hallo Whiley, herzlichen Dank für Deine Antwort. Für mich dann eher zu kompliziert. Manchmal glaube ich die Entwickler denken das wir Händler "halbe Programmierer" sind. ;-) Dann werde ich wohl eher bei meiner eigenen kleinen Lösung bleiben. Dann regele ich das dann lieber über die Konfiguration - Artikelvorbereitung - Stückzahl Lagerbestand "Shoplagerbestand übernehmen, abzgl. Wert aus rechtem Feld" = 1. Dann sind eben die Artikel automatisch auf "0" wo nur 1 Artikel verfügbar ist. In der Regel ist der letzte Artikel doch oftmals auch nicht mehr da im großem Lager. :-) viele Grüße Jutta Link to comment Share on other sites More sharing options...
rictools Posted April 18, 2017 Share Posted April 18, 2017 Für mich dann eher zu kompliziert. Manchmal glaube ich die Entwickler denken das wir Händler "halbe Programmierer" sind. ;-) Also wenn du dich nicht in der Lage fühlst, in einer Textdatei zwei Zeilen zu löschen, dann ist nicht nur Prestashop nichts für dich, dann dürftest du eigentlich gar keinen Computer bedienen ... Link to comment Share on other sites More sharing options...
Whiley Posted April 20, 2017 Share Posted April 20, 2017 Hallo Whiley, herzlichen Dank für Deine Antwort. Für mich dann eher zu kompliziert. Manchmal glaube ich die Entwickler denken das wir Händler "halbe Programmierer" sind. ;-) Dann werde ich wohl eher bei meiner eigenen kleinen Lösung bleiben. Dann regele ich das dann lieber über die Konfiguration - Artikelvorbereitung - Stückzahl Lagerbestand "Shoplagerbestand übernehmen, abzgl. Wert aus rechtem Feld" = 1. Dann sind eben die Artikel automatisch auf "0" wo nur 1 Artikel verfügbar ist. In der Regel ist der letzte Artikel doch oftmals auch nicht mehr da im großem Lager. :-) viele Grüße Jutta Naja, die Entwickler haben in diesem Fall schon mitgedacht, es kopmmt in der Praxis halt häufig vor, das die Preise der Produkte über csv angepasst werden müssen (weil eben der Lieferant oder Produzent diese geändert hat). Wenn du in diesem Fall eine csv erstellst nur mit 2 Feldern, der Produkt-ID und dem neuene Preis, was ja auf den ersten Blick auch ganz logisch klingt, und du hättest die o.a. Sperre nicht drinn wären nach diesem Import alle Mengen auf Null gesetzt. Aber mit deinem Workaround bekommst du das Problem ja auf jeden Fall auch in den Griff. Grüsse Whiley Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now