Varianten übernehmen Preis des Vaterartikels nicht, bei "Preis zur festgesetzten Zeit aktualisieren"

Das kann sein. Ich bin gerade dabei die Geschichte mit der “force_sid” durchzuarbeiten. Denn manchmal taucht das Problem auf, wenn eine “force_sid” hinten dran hängt.

Das kannst evtl. so testen:
public function assign($aRecord)
{
startProfile(‘articleAssign’);

        // load object from database
        parent::assign($aRecord);

        $this->oxarticles__oxnid = $this->oxarticles__oxid;

        // check for simple article.
        if ($this->_blSkipAssign) {
            return;
        }

        $this->_assignParentFieldValues();
        $this->_assignNotBuyableParent();


        $this->_assignStock();
        $this->_assignPersistentParam();
        $this->_assignDynImageDir();
        $this->_assignComparisonListFlag();


        stopProfile('articleAssign');
    }

=>

public function assign($aRecord)
    {
        startProfile('articleAssign');

        // load object from database
        parent::assign($aRecord);

        $this->oxarticles__oxnid = $this->oxarticles__oxid;

        // check for simple article.
        if ($this->_blSkipAssign) {
            //return;
        }

        $this->_assignParentFieldValues();
        $this->_assignNotBuyableParent();


        $this->_assignStock();
        $this->_assignPersistentParam();
        $this->_assignDynImageDir();
        $this->_assignComparisonListFlag();


        stopProfile('articleAssign');
    }

Wo muß ich da hin rubbercut? Ich bin leider kein Programmierer.

application/models/oxarticle.php

In der Methode assign einfach mal return auskommentieren. Bin gespannt, ob dann der Preis angezeigt wird

if ($this->_blSkipAssign) {
            //return;
        }

Bei einer Variante wird der Preis nicht angezeigt. Bei den anderen ja. TMP hab ich gelöscht.

Wenn ich die Session hinten dran lösche und den Artikel über die Links aufrufe, wird der Preis angezeigt. Ich seh bald nicht mehr durch.

So schauen die Variantenlinks aus: https://…/Bekleidung/Sportswear/Neopren/Schuhe/Neoprenschuh-ION-BALLISTIC-SLIPPER-1-5.html
Hinten dran hängt noch eine Raute. Wird hier nicht dargestellt.
Ne Session taucht jetzt auch nach mehrmailgen Reload nicht auf. Auch die Preise bleiben stehen.

Wenn ich die TMPs lösche, wird beim Aufruf der ersten Varianten der Preis nicht angezeigt und eine lange Session wird hinten dran gehangen. Nach mehrmaligen Aufruf der Varianten sieht man wieder Preise.

Ist die obige Änderung wieder raus oder noch drin? Die genannten Module sind aktiv?

Änderung ist noch drin und Module aktiv. Wenn ich die Varianten schon in der Artikelliste auswähle, wird diese lange Session hinten dran gehangen, beim Wechsel zum Artikeldetail. Wenn man dann den Browser refresht, wird immer die gleiche Variante angezeigt. Das passiert nicht, wenn ich erst den Artikel aufrufe und dann die Variante wähle. Bei einem Reload wird “Variante wählen” gezeigt. So sollte das sein.

D.h. die Preise werden nur wegen der Änderung angezeigt? Dann würde ich an Deiner Stelle analysieren, warum der Wert $this->_blSkipAssign; bei Varianten true zu sein scheint.

PS: In unserem Demoshop 4106 tritt der Fehler nicht auf. Sollte an den Modulen liegen.

Was genau macht diese Funktion?

if ($this->_blSkipAssign) {
return;
}

Ich muß das ja als Laie verstehen.

Im Falle von return; wird der Code unterhalb nicht mehr ausgeführt. In diesem Falle aber nur, wenn $this->_blSkipAssign true ist.

Was passiert denn bildlich gesprochen, also beim Aufruf eines Artikels vor und nach dem return? Machs ruhig für Doofe. Ich bin Laie auf diesem Gebiet.

Das sind nun Grundlagen, die hier nicht hingehören. Du kannst in obiger Methode sehen, was passiert. Die Namen der Methoden, die vor und nach return; aufgerufen werden, sind eigentlich selbstbezeichnend. Meine Annahme wäre nun, dass _assignParentFieldValues() nicht bzw. nicht korrekt ausgeführt wird, weshalb der Wert hin und wieder 0 ist.

Wir sind doch hier im Community Forum für den Oxid-Shop oder ist das jetzt ein reines Entwicklerforum?:joy:
Die meisten Besucher hier sind doch keine Programmierer, sondern Anwender. Ich will hier auch nicht in die Tiefen von PHP versinken, sondern nur verstehen was da passiert in der Funktion. Ich komme aus dem Zweiradbereich und erkläre so manchen Käufer Dinge in einfachen Worten was wo passiert in seinem Moped.

2 Sätze zu der Funktion, würden mir für mein persönliches Verständnis und der weiteren Argumentation gegenüber dem Modulanbieter helfen. Auch kommt ja noch das Problem mit dem Gewicht dazu, was nicht vom Vaterartikel gezogen wird.

Nicht weinen :grinning:. Hab doch geschrieben, was passiert bzw. m.A. nach nicht. Ob diese Annahme für die Module zutriift, bleibt abzuwarten.

So, alles noch einmal von vorne. Und was soll ich sagen. Es läuft auf einmal. Sehr komisch. Bezüglich der Anzeige des Gewichtes bei den Varianten, stehe ich mit dem Anbieter in Kontakt, wobei die Damen und Herren mir wohl immer noch nicht glauben, das der Fehler existiert. Stattdessen wird mir eine Servicestunde von 125€ angeboten, um den Austausch einer Variablen bei einem Aufwand von knapp 15 Sekunden durchzuführen. Gut, das habe ich selbst hinbekommen, weil die Damen und Herren des Modulanbieters mir freundlicherweise die entsprechende genannt haben. Recht herzlichen Dank dafür! Jetzt geht auch das.

Ob das mit meiner ursprünglichen Fehlermeldung zu tun hat, kann ich nicht sagen.

Ich schweife ab, also weiter zum Sachverhalt.

Jetzt habe ich im Produktivsystem alles aktiviert und beobachte mal was so passiert. Cache gelöscht, Views aktualisert. Test lief auf allen Betriebssystemen bis jetzt ohne Fehler. Danke für die großartige Unterstützung hier.

Ich mußte übrigens feststellen, das der Fehler wieder auftaucht.

Also der Ursprungsfehler vom Thema?

Ja. Ich habe den Fehler etwas eingrenzen können. Wir verwenden noch die Flex Suche von Aggrosoft. Wenn ich dort bei den Suchergebnissen die force_id hinten dran entferne oder die Flex Suche deaktiviere, werden die Preise auch bei den Varianten angezeigt. Rufe ich die Artikel direkt auf klappt es ebenfalls mit den Preisen in den Varianten. Ich stehe schon in Kontakt mit Aggrosoft. Hier wurde mir sofort Unterstützung angeboten, obwohl garnicht klar ist, welches Modul hier die Schuld trägt.

Vom Anbieter des Varianten-Moduls hab ich bis zu diesem Zeitpunkt noch keine Antwort auf meine letzte gestrige Mail erhalten (Gewicht wird in frischer Shopinstallation nicht im Frontend der Varianten angezeigt).

Ick dreh jetzt noch ne Abendrunde mit dem Moped, um den Kopf frei zu bekommen. Bis später.