Anzeige der Rabatte nicht durchgängig


#1

Hallo zusammen,

in unserem Shop werden die Rabatte nicht überall angezeigt.
Beispiel:

Ich rufe in einer Kategorie alle Artikel als eingeloggter Benutzer auf. Die Rabatte werden mir angezeigt:

Ich klicke auf den Artikel und sehe mir die Details an. Der Rabatt ist verschwunden:

Lege ich den Artikel in den Warenkorb wird im Warenkorb der richtige Preis angezeigt und man sieht wie im Hintergrund auch auf der Detailseite der korrekte Preis angezeigt wird:

Ab jetzt wird der rabattierte Preis so lange angezeigt bis ich den Artikel wieder aus dem Warenkorb entferne:

Könnt ihr mir die Ursache dafür nennen?

Viele Grüße
Chris


#2

Hallo zusammen,

der Beitrag wurde in “Administration” verschoben. Kann ich davon ausgehen, dass es sich um einen Konfigurationsfehler handelt?
Konfiguriert sind Rabatte für bestimmte Kategorien. Diesen Kategorien sind Artikel zugewiesen. Der Rabatt ist dann für manche Gruppen konfiguriert. Preis und UVP sind pro Artikel konfiguriert.
Da an manchen Stellen der Rabatt angezeigt wird dachte ich nicht an einen Konfigurationsfehler.

Viele Grüße
Chris


#3

Ich habe eine Kategorie zugeordnet, damit überhaupt eine Kategorie zugeordnet ist. Könnte ein Konfigurations-/Admin-Problem sein, könnte aber auch am Template liegen.

Unter Umständen könnte ich mir sogar Vorstellen, dass es sich um einen Bug handelt. Versuch das doch bitte mal am Demoshop oder in einer jungfräulichen Installation nachzuvollziehen.


#4

Im Demoshop scheint alles korrekt zu funktionieren. Ich habe alles exakt so konfiguriert, wie in unserem Shop auch. Ich habe bewusst

  1. Einen neuen Artikel angelegt
  2. Eine neue Kategorie angelegt
  3. Eine neue Benutzergruppe angelegt
  4. Einen neuen Benutzer angelegt
  5. Einen neuen Rabatt angelegt
  6. Alle anderen Rabatte deaktiviert
  7. Einen neuen Hersteller angelegt
  8. Einen neuen Lieferanten angelegt

-> Auch in der Detailansicht wird der Rabatt angezeigt.
Jetzt muss man dazu sagen: Ich nutze noch die v4.10.2 der Demoshop ist eine v6.1.1



Da ich mich bei der Konfiguration des Demoshops 1:1 an unseren Shop gehalten habe gehe ich nicht von einem Administrationsproblem aus.
Das Theme mit den Templates ist ein von “Flow” geerbtes. An dieser Stelle habe ich meines Wissens nichts verändert dennoch würde ich es gerne überprüfen.
Welche Stelle wäre dafür relevant?

Viele Grüße
Chris

Hier noch die Konfiguration des Demo-Shops (bei uns analog):

Zusammenfassung

Rabatt Konfiguration:


Rabatt Konfiguration Benutzergruppenzuordnung:

Rabatt Konfiguration Kategoriezuordnung:

Kategorie Konfiguration:

Benutzergruppe Konfiguration:

Benutzer Konfiguration:

Artikel Konfiguration:

Artikel (Erweitert):

Artikel (Lager)

Herstellerkonfiguration:

Lieferant Konfiguration:


#5

Hallo zusammen,

mittlerweile habe ich herausgefunden, dass das Problem eine Folge davon ist, dass ich wie hier beschrieben

die Parameter in der URL weggelassen habe.

Konkret scheint dadurch folgende Abfrage “false” zu sein:

[{if $tprice && $tprice->getBruttoPrice() > $price->getBruttoPrice()}]

Ist “&listtype=search&searchparam=…” Teil der URL ist $tprice->getBruttoPrice() > $price->getBruttoPrice(), sonst ist $tprice->getBruttoPrice() = $price->getBruttoPrice()

Warum ist das so?

Viele Grüße
Chris


#6

Eigentlich haben die beiden Dinge nichts gemein. Bei [{if $tprice && $tprice->getBruttoPrice() > $price->getBruttoPrice()}] geht’s nur im die Einblendung der UVP bzw. das Hinzufügen von Klassennamen.


#7

Vll. habe ich nicht ausreichend Angaben gemacht.

[{if $tprice && $tprice->getBruttoPrice() > $price->getBruttoPrice()}]
   <del>[{$oDetailsProduct->getFTPrice()}] [{$currency->sign}]</del>
   <br/>
[{/if}]

lautet der gesamte Block.
Hier springt er nur rein, wenn ich die oben genannten Parameter in der URL angebe.

Bei Ausgabe von

$price->getBruttoPrice

sehe ich dann eben, dass mit den URL Paramtern der Wert rabattiert ist und ohne die Parameter nicht.
Ggf. ist die eigentliche Ursache an anderer Stelle, aber das Ergebnis des Funktionsaufrufs zeigt, dass der Preis anders berechnet wird.


#8

Dazu fällt mir nur Folgendes ein: oxarticles.php

/**
* Performance issue. Sometimes you want to load articles without calculating
* correct discounts and prices etc.
*
* @var bool
*/
protected $_blLoadPrice = true;


#9

Bekomme ich noch nicht ganz zusammen:

Wenn ich “&listtype=search” eingebe führt er die Suche nochmal aus.
Wenn ich “&listtype=search” weglasse, führt er die Suche nicht aus -> schneller

Wäre es dann nicht logischer bei einer ausgeführten Suche aus Performancegründen die Rabattberechnung wegzulassen?
Hier wird sie aber weggelassen, wenn ich die Suche nicht ausführe.


#10

M.E. hat das nichts mit der Suche sondern eher was mit der Session zu tun, schau mal ob der Benutzer angemeldet ist wenn kein Rabatt erscheint. Vielleicht kannst du den Shop mal irgendwo online stellen damit man mal draufschauen kann, ansonsten ist das ein ziemliches Ratespiel.


#11

In beiden Fällen ist der Benutzer angemeldet.
Hier Screenshots inkl. URL:

Aufruf des Artikels über die Kategorie: Honda Nice Motor -> Motorersatzteile -> E-1 Deckel Zylinderkopf.
In der Kategorieansicht wird der Rabatt angezeigt:

Klick auf den Artikel erzeugt folgende Anzeige (URL: Ohne Suchparameter):

Ergänze ich händich die URL-Parameter und drücke Enter erzeugt das folgende Ansicht:

In beiden Fällen ist der Benutzer angemeldet.

Testbenutzer: [email protected]
Passwort: Oxid2018

Der Shop ist eine Entwicklungsumgebung und es kann sein, dass zwischendurch etwas nicht funktioniert.
Grundsätzlich habe ich das Problem mit dem Testbenutzer so nachgestellt, dass es sichtbar wird, wenn man den Schritten in den Bildern folgt.

Viele Grüße
Chris


#12

Die Anzeige und Berechnung erfolgt nur, wenn der Wert der o.a. Variable true ist. Nun würde ich mir den Wert zur Kontrolle ausgeben lassen. Ist er bei Deinem Problem false, musst die Ursache finden.


#13

Schalt mal alle Module aus und probier nochmal.