Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix the condition for product type based shipping calculation. #1971

Merged
merged 1 commit into from Sep 27, 2018

Conversation

richardhj
Copy link
Member

@richardhj richardhj commented Sep 6, 2018

Hallo,

dies ist ein Fix, damit das Vorhaben in #1970 gelingt.

Es handelt sich um die Einstellung "Preis für diese Produkttypen berechnen" bei den Versandarten.

screen shot 2018-09-06 at 09 46 12

Ich habe mir den Code angeschaut und deshalb habe ich von dieser Einstellung erwartet, in der Preisberechnung nur die Produkte mit zutreffendem Produkttyp zu berücksichtigen.

Allerdings war ein Vorzeichen falsch.

Die betroffene Stelle wurde das letze mal in 25aa89b#diff-b5a411f80105f8e2809e6e9f24529307 bearbeitet.


screen shot 2018-09-06 at 09 48 11

Vorher: Diese Einstellung resultiert in Versandkosten in Höhe von 0, auch wenn ein Produkt mit "Test-Produkttyp 1" im Warenkorb liegt.

Nach diesem Fix: Diese Einstellung resultiert in Versandkosten, wie erwartet, wenn ein Produkt mit "Test-Produkttyp 1" im Warenkorb liegt.
Edit: Wie erwartet heißt, dass die Versandkosten nur Anwendung finden, für diesen Produkttyp, und ignoriert wird, für andere Produkktypen. Details siehe #1970.

@richardhj
Copy link
Member Author

-           if (is_array($allowedTypes) || !in_array($productType->id, $allowedTypes, false)) {
+           if (!is_array($allowedTypes) || !in_array($productType->id, $allowedTypes, false)) {
                continue;
            }

Das ist meine Lösung in 269cc83.
Dies bedeutet, dass wenn keine Produkttypen ausgewählt wurden, die Versandart auch Versandkosten i.H.v. 0 berechnent.

-           if (is_array($allowedTypes) || !in_array($productType->id, $allowedTypes, false)) {
+           if (is_array($allowedTypes) && !in_array($productType->id, $allowedTypes, false)) {
                continue;
            }

Das wäre eine alternative Lösung.
Dies bedeutet, dass wenn keine Produkttypen ausgewählt wurden, die Versandart trotzdem Anwendung findet.

@aschempp
Copy link
Member

Dies bedeutet, dass wenn keine Produkttypen ausgewählt wurden, die Versandart trotzdem Anwendung findet.

Das wäre die richtige Variante. Die Einschränkungen gelten immer für den Fall, dass eine Eingabe vorliegt. Keine Eingabe entspricht keiner Auswahl. So wie auch wenn du keinen Mindestpreis eingibst, gilt die Versandart für jeden Preis.

Magst du den PR entsprechend anpassen?

@richardhj
Copy link
Member Author

Hab ich entsprechend geändert.

@aschempp
Copy link
Member

Danke! Lässt sich damit das vorhaben aus #1970 noch durchführen?

@aschempp aschempp added the bug label Sep 27, 2018
@aschempp aschempp added this to the 2.5.5 milestone Sep 27, 2018
@aschempp aschempp changed the base branch from master to hotfix/2.5.5 September 27, 2018 12:08
@aschempp aschempp merged commit 0e08b9d into isotope:hotfix/2.5.5 Sep 27, 2018
@richardhj richardhj deleted the patch-2 branch November 5, 2018 14:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants