Wunschliste Artikel ersetzt auf hinzufügen

7

Ich habe jetzt seit ein paar Tagen einen wirklich seltsamen Fehler verfolgt.

Beim Hinzufügen von Elementen zu einer Wunschliste wird das zuletzt hinzugefügte Element durch das neue Element ersetzt. Dies geschieht auch dann, wenn alle lokalen Module deaktiviert sind.

Das zuletzt hinzugefügte Element wird einfach aus der Datenbanktabelle entfernt und das neue eingefügt. Manchmal kann ich mehr als ein Element auf die Liste setzen, aber es ist sehr selten.

Andere hatten ähnliche Probleme ( /programming/28452259/unable-to-add-multiple-products-to-wishlist ), aber unser Problem betrifft nicht die Preisgestaltung oder Filialfilter - die Datensätze werden einfach gelöscht aus der Datenbank.

Wenn Sie den Ablauf beobachten, sieht es so aus, als ob die Wunschliste-Artikelsammlung in der Wishlists afterSave () -Funktion gespeichert und der letzte Artikel aus der Sammlung gelöscht wird.

Nicht sicher warum.

Irgendwelche Ideen?

Natecornell
quelle
Haben Sie das Problem auch hier herausgefunden?
Yehia A. Salam
Ugh, habe diesen vergessen. Nee. Der Kunde wollte uns nicht weiter bezahlen, um es zu jagen. Lassen Sie mich wissen, wenn Sie Hinweise finden.
Natecornell

Antworten:

3

Ich habe tagelang nach einer Lösung gesucht, aber ich habe endlich eine (sogar zwei) Lösungen gefunden und sie hier geschrieben: https://magento.stackexchange.com/a/223786/67048

Ich hatte das gleiche Problem und die folgende Lösung löste es.

Bitte beachten Sie, dass das von Chris Rogers vorgeschlagene Update funktioniert, aber keine optimierte Lösung ist.

In app / code / core / Mage / Wishlist / Model / Wishlist.php finden Sie:

öffentliche Funktion getItemCollection () und change

$ this -> _ itemCollection = Mage :: getResourceModel ('Wunschliste / item_collection') -> addWishlistFilter ($ this) -> addStoreFilter ($ this-> getSharedStoreIds ($ currentWebsiteOnly)) -> setVisibilityFilter ();

zu

$ this -> _ itemCollection = Mage :: getResourceModel ('Wunschliste / item_collection') -> addWishlistFilter ($ this) -> addStoreFilter ($ this-> getSharedStoreIds ($ currentWebsiteOnly));

Wie gesagt: Dies ist eine Problemumgehung und keine vollständige Lösung. Das Problem ist, dass der Sichtbarkeitsfilter nicht richtig zu funktionieren scheint - und dieser Fix entfernt nur den Filter. Folgendes sollte berücksichtigt werden:

  1. Artikel, die aus einem Geschäft zur Wunschliste hinzugefügt wurden, werden unabhängig davon angezeigt, in welchem ​​Geschäft sich der Kunde befindet.
  2. Wenn die Sichtbarkeit eines Artikels auf "Nicht sichtbar" eingestellt ist und der Artikel bereits zur Wunschliste hinzugefügt wurde, wird er weiterhin angezeigt. "

(habe es von http://thesarfarazlaghari.com/magento-wishlist-shows-online-1-product/ erhalten )

Ich habe im Web eine andere Lösung gefunden, bei der kein Code erforderlich ist und außerdem keine Funktionen aus Magento entfernt werden müssen:

Wählen Sie einfach Ihre Shop-Produkte auf der Katalogseite aus, wählen Sie die Aktion "Attribute aktualisieren" und klicken Sie auf "Senden". Wählen Sie das Fenster "Websites" und überprüfen Sie Ihre Website im Block "Produkt zu Websites hinzufügen". Indizieren Sie Ihre Daten bei Bedarf neu.

( https://stackoverflow.com/a/40244935 )

Der letzte hat auch für mich funktioniert. Ich bin übrigens auf Magento 1.9.3.8.

ANZEIGE
quelle
1
Hatte das gleiche Problem, das alleinige Ausführen des vollständigen Reindexers hat es für uns behoben.
Emil Stewart