Neu Redis-Caching und Probleme beim ersten Artikel im Warenkorb

  • Wenn Ihr uns das erste Mal besucht, lest euch bitte zuerst die Foren-Regeln durch.

Saproj

Neues Mitglied
11. Februar 2019
2
0
#1
Guten Tag,

ich habe den mehrmals vorgeschlagenden REDIS-Cache auf unseren Serverhost installiert und auch aktiviert.
Bei der Entwicklung für ein Plugin ist mir durch viel hin und her probieren aufgefallen das beim ersten Artikel der im Warenkorb gelistet wird Variablen/Arrays/Objekte nicht vollständig beschrieben werden.
Sobald ich den Cache ausschalte kommt dieser Fehler nicht vor.

Bei dem Artikel wurde in der WaWi ein Funktionsattribut hinterlegt: TestAttribute mit einem String "Testwert".
Zum testen habe ich zwei Artikel mit dem gleichen Funktionsattribut angelegt.

1. Der Artikel wird in den Warenkorb gelegt. Die SESSION gibt folgendes aus
$_SESSION['Warenkorb']->PositionenArr[0]->Artikel->kArtikel = 1
$_SESSION['Warenkorb']->PositionenArr[0]->Artikel->FunktionsAttribute = NULL

2. Ich lege einen weiteren Artikel in den Warenkorb
$_SESSION['Warenkorb']->PositionenArr[0]->Artikel->kArtikel = 1
$_SESSION['Warenkorb']->PositionenArr[0]->Artikel->FunktionsAttribute = NULL

$_SESSION['Warenkorb']->PositionenArr[1]->Artikel->kArtikel = 2
$_SESSION['Warenkorb']->PositionenArr[1]->Artikel->FunktionsAttribute['TestAttribute'] = "Testwert"

3. Ich entferne den ersten Artikel auf dem Warenkorb
$_SESSION['Warenkorb']->PositionenArr[0]->Artikel->kArtikel = 2
$_SESSION['Warenkorb']->PositionenArr[0]->Artikel->FunktionsAttribute = NULL


4. Ich füge den ersten Artikel wieder in den aktuellen Warenkorb hinzu
$_SESSION['Warenkorb']->PositionenArr[0]->Artikel->kArtikel = 2
$_SESSION['Warenkorb']->PositionenArr[0]->Artikel->FunktionsAttribute = NULL

$_SESSION['Warenkorb']->PositionenArr[1]->Artikel->kArtikel = 1
$_SESSION['Warenkorb']->PositionenArr[1]->Artikel->FunktionsAttribute['TestAttribute'] = "Testwert"

5. Ausgeschalteten Objekt-Cache
$_SESSION['Warenkorb']->PositionenArr[0]->Artikel->kArtikel = 1
$_SESSION['Warenkorb']->PositionenArr[0]->Artikel->FunktionsAttribute['TestAttribute'] = "Testwert"

$_SESSION['Warenkorb']->PositionenArr[1]->Artikel->kArtikel = 2
$_SESSION['Warenkorb']->PositionenArr[1]->Artikel->FunktionsAttribute['TestAttribute'] = "Testwert"
 

waldemar.p

Moderator
Mitarbeiter
6. Januar 2016
26
4
#2
Hallo,

ich habe versucht vergebens in im 4.06.11 Shop das Problem nochmal nachzustellen.

Um welche Shop Version handelt es sich dabei bei Ihnen?
Sind zusätzliche Plugins aktiviert die wo möglich Einfluss dadrauf nehmen?
In welcher Datei haben Sie die Ausgabe / Auswertung "$_SESSION['Warenkorb']->PositionenArr[0]->Artikel" hinzugefügt?
 

Saproj

Neues Mitglied
11. Februar 2019
2
0
#3
Guten Tag,

ich habe die Shopversion 4.06 (Build: 9) aktuell.
Es sind keine Fremdplugins installiert (außer JTL Debug).

Die Ausgabe der "$_SESSION['Warenkorb']->PositionenArr[0]->Artikel" ist über den HOOK 99 (letzerinclude).
 

waldemar.p

Moderator
Mitarbeiter
6. Januar 2016
26
4
#4
Hallo,

also das Problem konnte ich mit dem Redis Cache in der Shop Version 4.06.11 nicht nachstellen.

Wie folgt habe ich das Problem getestet.

Über die folgende Zeile habe ich eine Ausgabe-Code hinterlegt:
https://gitlab.jtl-software.de/jtlshop/shop4/blob/v4.06.11/includes/letzterInclude.php#L193


Code:
echo "<pre>";
foreach($_SESSION['Warenkorb']->PositionenArr AS $k => $v)
{
    echo $v->Artikel->kArtikel.'<br>';
    print_r($v->Artikel->FunktionsAttribute);
}
echo "</pre>";