Pinback Posted March 11, 2013 Share Posted March 11, 2013 (edited) Hi, ich habe folgendes Problem: Auf jeder Kategorienseite besteht ja die Möglichkeit mehrere Artikel miteinander zu vergleichen. Aber leider werden alle Artikel aus sämtlichen Kategorien, die man irgendwann zum Vergleichen ausgewählt hat/hatte gespeichert (im Cookie). Der User wählt also einen Artikel zum Vergleichen aus und es erscheint bereits nach einem Klick die Fehlermeldung "Es können nur 3 Artikel miteinander verglichen werden...". Obwohl in dieser Kategorie noch gar nichts ausgewählt wurde.... Natürlich kann der User auf "Vergleichen" klicken und dort die Artikel händisch entfernen - aber das kann's ja wohl nicht sein. Ich möchte daher den gesetzten Cookie beim onLoad initialisieren bzw. löschen. Ist das über >Tools::getValue('action') == 'remove' möglich ...??? Habe im CompareContoller.php auch das gefunden: if (isset(self::$cookie->id_compare)) CompareProduct::removeCompareProduct((int)$this->context->cookie->id_compare, (int)Tools::getValue('id_product')); else ... Der Cookie soll aber komplett initialisiert werden und zweitens müsste die Funktion aus dem Template (z.B. product-list.tpl) aufgerufen werden.... Eine Alternative wäre evtl. die Kategorie-ID mit zuspeichern, damit würde jeder Vergleich nur pro Kategorie zählen. Wer weiß Rat? Aktuelles Beispiel auf bibarella.de Danke für eure Hilfe! Pinback Edited March 11, 2013 by Pinback (see edit history) Link to comment Share on other sites More sharing options...
guest* Posted March 11, 2013 Share Posted March 11, 2013 Welche PS-Version ? Auch solltest du die Cookie-Session für deinen Front-Office von 480 auf 240 oder 120 heruntersetzen. So lange Cookie-Sessions benötigt kein Kunde. Link to comment Share on other sites More sharing options...
Pinback Posted March 11, 2013 Author Share Posted March 11, 2013 Hi cd, ok werde ich machen. Benutze PS 1.5.3.1. Link to comment Share on other sites More sharing options...
guest* Posted March 11, 2013 Share Posted March 11, 2013 Ich habe es jetzt einmal live bei dir ausprobiert. Es ist ein Problem deines Themes. Offensichtlich nicht für PS 1.5.3.1. Wenn du JS ausschaltest, dann kommt kein Fehler, auch kannst du die angeklickten Produkte wieder abwählen. Wenn du JS einschaltest, dann kommt bei mir auch kein Fehler, aber ich kann angeklickte Produkte nicht mehr sofort abwählen. Man muß einige Zeit vertreichen lassen, damit man sie abwählen kann. Könnte aber auch ein Serverproblem sein, welches JS in einem Cache lädt und nicht sofort wieder ablädt.. Falls du CCC (Erweiterte Parameter -> Leistung) eingeschaltet hast, dann probiere bitte dieses mal abzuschalten und bei allen anderen Einstellungen es bei "konventionell" zu belassen. Wenn das nichts bringt, dann bitte setze dich mit dem Entwickler deines Themes in Verbindung. Es kann sein, dass der ein altes JS-Skript verwendet. Link to comment Share on other sites More sharing options...
Pinback Posted March 12, 2013 Author Share Posted March 12, 2013 Hi cd, danke für den Hinweis! Leider geht ohne JS nichts beim compare. Vermute die ursprüngliche Idee war/ist, dass man Produkte aus allen Kategorien vergleichen kann - warum auch immer. Daher der Cookie. Ansonsten hätte man das sauberer mit normaler Parameterübergabe gelöst. Ich möchte die Vergleichsfunktion aber nur Kategorie spezifisch zulassen. Also so: Kategorie(seite) A wird aufgerufen > Cookie wird initialisiert wenn vorhanden User wählt Produkte zum Vergleich User klickt auf "Jetzt vergleichen" > Cookie wird gespeichert Vergleichsseite (products-comparison) zeigt Produkte an Kategorie(seite) B wird aufgerufen > Cookie wird initialisiert wenn vorhanden ... usw. Natürlich ist ein Cookie hier völlig unnötig. Aber alles neu zu proggen traue ich mir noch nicht zu. Die Frage ist jetzt, wie kann ich den Cookie beim ersten Aufruf der jeweiligen Kategorieseite initialisieren, so dass ich ältere Produkte die noch im Cookie gespeichert sind nicht erst händisch aus der products-comparison Page entfernen muss. Werde den Entwickler (Miled) trotzdem mal kontakten. Gruß Pinback Link to comment Share on other sites More sharing options...
guest* Posted March 12, 2013 Share Posted March 12, 2013 Vermute die ursprüngliche Idee war/ist, dass man Produkte aus allen Kategorien vergleichen kann - warum auch immer. Daher der Cookie. Das ist korrekt. Compare macht nur Sinn, wenn man über den ganzen Shop Artikeln auswählen kann. War früher nicht so, wurde geändert. Ich kann auch ohne eingeschaltetem JS die Haken setzen. Aber die Compare Seite wird natürlich nicht geladen, weil die einem JS-file unterliegt. Ich würde die Cookie-Laufzeit im Front-Office kürzer setzen. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now