"Kunden, die diesen Artikel gekauft haben" Vaterarticle laden

Hallo zusammen,

im Moment ist es so, dass in der Produktansicht unten bei “Kunden, die diesen Artikel gekauft haben…” die gekaufte Variante geladen wird.

Ich möchte aber, dass dort jeweils der Vaterartikel angezeigt wird.

Gibt es da eine Möglichkeit vom VariantenObject den Vaterartikel zu laden?

Grüße
Keno

Hallo, ich möchte mal diese alte Frage hier auffrischen

“Kunden, die diesen Artikel gekauft haben, kauften auch:”
Shopversion ist 4.9.4 CE Azur
Nochmal zum Verständnis.

Problem ist, dass die Artikel vom gleichen Käufer nur angezeigt werden in Bezug auf die Varianten die er vom “Vater” gekauft hat.
Es wäre aber gut wenn es auf den Vaterartikel bezogen wäre. Ist nähmlich die Variante die der Käufer gewählt hatte ausverkauft aber andere noch verfügbar, dann wird der Artikel nicht mehr angezeigt.

Bsp: Käufer kauft 1 rotes und 1 gelbes Shirt in Größe M aus 2 Angeboten.

…dann verweisen beide Artikel bei “Kunden, die diesen Artikel gekauft haben, kauften auch:” gegenseitig auf sich.

Ist aber bei einem der beiden die Variante Größe M ausverkauft aber noch andere Größen verfügbar, dann wird dieser Artikel bei dem anderen nicht mehr angezeigt.
Wenn es bei beiden der Fall ist, dann wird natürlich garnix mehr angezeigt.

Hat einer von euch dass irgendwie umgesetzt und wo könnte man das einstellen. ich finde dazu garnichts.

Danke schonmal im Voraus.

Also hast nun keine Frage mehr?

Ansonsten etwas in der Form in protected function _generateSearchStrForCustomerBought()

$oRs = $oDb->select("select oxid from {$sArtTable} where oxid = " . $oDb->quote($sParentIdForVariants));

doch, nur bekomme ich den Code nicht eingefügt. Fehler 403.

Ähnlich diesem Modul.
https://exchange.oxid-esales.com/en/Marketing-und-Kampagnen/SEO/Wendnet-BasketNoVarLink-1-2-0-Stable-CE-4-6-x-4-9-x.html

ich wüsste auch nicht, wie und wo man das im Template ändern könnte.

Das ist ja was anderes. Hier wird nur der Verweis geändert. Du musst aber die gebildete Liste ändern und statt der Variante jeweils den Vater laden. Deswegen wäre es wie oben in der genannten Funktion (Methode) zu ändern (nicht getestet).

Ich habe die entsprechende Zeile wie von dir oben vorgeschlagen ersetzt. Nur werden dann die “Kunden Kauften auch Artikel” nicht mehr angezeigt. die komplette Abfrage sieht so aus.

// adding variants
$oDb = oxDb::getDb(oxDb::FETCH_MODE_ASSOC);
$oRs = $oDb->select("select oxid from {$sArtTable} where oxparentid = " . $oDb->quote($sParentIdForVariants) . " and oxid != " . $oDb->quote($this->oxarticles__oxid->value));
if ($oRs != false && $oRs->recordCount() > 0) {
while (!$oRs->EOF) {
$sIn .= ", " . $oDb->quote(current($oRs->fields)) . " ";
$oRs->moveNext();
}
}

ersetzen mit

$oRs = $oDb->select("select oxid from {$sArtTable} where oxid = " . $oDb->quote($sParentIdForVariants));

Achtung: Beim Kopieren gibt es Probleme mit den Zeichen. Dann am besten manuell ändern.

Obiges ist natürlich nur zur Demo gedacht. Wenn es wie gewünscht funktioniert, kannst daraus ein Modul machen, damit es updatefähig ist.