Ankündigung

Einklappen
Keine Ankündigung bisher.

Aktuelle Seite cachen und als "Zurück" Ziel angeben

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Aktuelle Seite cachen und als "Zurück" Ziel angeben

    Hallo,

    ich habe einen ziemlich komplexen Produktkonfigurator. Leider ist es derzeit noch nicht möglich, das konfigurierte Produkt zu speichern, zu merken oder aus dem Checkout-Prozess heraus darauf zurück zu springen um es nochmals zu verändern.

    Gibt es eine Möglichkeit, die Konfigurator Seite mit allen Formularelementen quasi via JS zu cachen oder zu speichern um diese Abbild dann später wieder aufzurufen?
    Also es wird sozusagen der ganze aktuelle Code mit ausgefülltem Formular in eine Temporäre Datei geschrieben und wieder geladen, wenn man auf die konfigurator.html springt.
    Ich glaube das geht irgendwie, bekomme nur gerade keinen Griff dran

    Danke schonmal für Ideen,
    Daniel

    Da ist schon wieder dieses Wort 'stark'... Warum ist in der Zukunft alles 'stark'? Hängt das irgendwie mit Veränderungen in der Erde zusammen?

  • #2
    Also die aktuelle Seite via JS als HTML speichern, via AJAX an den Server schicken, dort speichern und beim Aufruf dann von PHP prüfen ob die gespeicherte Version existiert ansonsten neu ausliefern...das könnte doch klappen?
    Da ist schon wieder dieses Wort 'stark'... Warum ist in der Zukunft alles 'stark'? Hängt das irgendwie mit Veränderungen in der Erde zusammen?

    Kommentar


    • #3
      Warum sollte man eine ganze Seite per Ajax an den Server senden und diese dort speichern?
      Wenn der Konfigurator halbwegs sinnvoll aufgebaut ist, werden die Änderungen sicherlich entsprechende Events auslösen, die die Seite neu "berechnen" lassen.
      Dann reicht es vollkommen aus, wenn man die aktuellen Konfigurationswerte idealerweise in einer Session und für den späteren Gebrauch in einer Datenbank speichert.
      Competence-Center -> Enjoy the Informatrix
      PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

      Kommentar


      • #4
        Ja, das ist der Königsweg. Würde theoretisch auch schon funktionieren, wird aber ein sehr großer Aufwand, weil es sehr viel Abhängigkeiten zwischen den verschiedenen Bauteilen gibt. Und nur die vorher ausgewählten Elemente zu laden reicht ja nicht, es müssen ja auch noch alle anderen in Frage kommenden Bauteile geladen werden.
        Es ist auf jeden Fall der Plan, das früher oder später umzusetzen. Bis dahin hätte ich aber gerne eine B-Lösung, weil es auch noch andere Baustellen gibt, die gelöst werden wollen.
        Da ist schon wieder dieses Wort 'stark'... Warum ist in der Zukunft alles 'stark'? Hängt das irgendwie mit Veränderungen in der Erde zusammen?

        Kommentar


        • #5
          Die Komplexität Deines Konfigurators kann hier aber niemand erkennen, nur weil Du es so schreibst:
          ich habe einen ziemlich komplexen Produktkonfigurator.
          Es ist auf jeden Fall der Plan, das früher oder später umzusetzen.
          Die Erfahrung zeigt, dass das nicht passieren wird...
          Competence-Center -> Enjoy the Informatrix
          PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

          Kommentar


          • #6
            Aha. Na dann.
            Da ist schon wieder dieses Wort 'stark'... Warum ist in der Zukunft alles 'stark'? Hängt das irgendwie mit Veränderungen in der Erde zusammen?

            Kommentar


            • #7
              Gibt es eine Möglichkeit, die Konfigurator Seite mit allen Formularelementen quasi via JS zu cachen oder zu speichern um diese Abbild dann später wieder aufzurufen?
              notfalls öffne einfach ein neues fenster(tab), so wie man das in grauer vorzeit wohl tat.

              Kommentar


              • #8
                Zitat von mentalman Beitrag anzeigen
                Gibt es eine Möglichkeit, die Konfigurator Seite mit allen Formularelementen quasi via JS zu cachen oder zu speichern um diese Abbild dann später wieder aufzurufen?
                kurz und knapp - nein.

                Kommentar


                • #9
                  Doch, das geht natürlich.

                  Das dynamische rendern von Formularelementen in Abhängigkeit zuvor gewählter Einstellungen wird mittels Booleans bewirkt. Jedes Element besitzt einen Status (true/false) und optional einen gesetzten Value. Diese lassen sich nach dem setzen clientseitig via IndexedDB persistieren. Ruft der User die Seite erneut auf, kann man ihm exakt den 'hinterlassenen' Zustand präsentieren. Falls das Ganze nicht zu komplex ausfällt, wäre es sogar denkbar, die Objekte zu stringifyen und im localStorage abzulegen.

                  Kommentar


                  • #10
                    Zitat von Tronjer Beitrag anzeigen
                    Doch, das geht natürlich.
                    Werter Tronjer, dass man Formularelemente speichern kann ist nicht die neueste Erfindung …

                    Hier ging es darum den Zustand einer Website zu speichern, mit allem Drum und Dran, ob Javascript Variablen betroffen sind, CSS Klassen geändert wurden oder was auch immer - keiner weiß es.

                    Ein Beispiel – ich bin gerade beim Online Banking , will Feierabend machen und sage mir – och, speichere ich einfach ab und mach morgen weiter.

                    Zeig mir (uns) doch bitte Deine Lösung für dieses Problem.


                    Kommentar


                    • #11
                      Ein einfaches Beispiel wäre eine Webkomponente mit zwei Select-Listen. Die erste zeigt die Hauptkategorien und nach Auswahl einer Kategorie soll eine weitere Liste mit den dazugehörigen Subkategorien gerendert werden.

                      Im Markup stehen beide Listen, wobei die zweite per Status-Variable initial auf false gesetzt wird (bsw. *ngIf mit Angular). Das change-Event der ersten Liste fetched mit dem übergebenen Value die Daten den Subkategorie und setzt deren Status-Variable auf true, damit diese gerendert wird.

                      Persistiert man den Value im WebStorage, kann dieser beim Initialisieren der Komponente abgefragt und die Funktion, welche mit dem change-Event getriggered wurde, direkt ausgelöst werden.

                      Kommentar


                      • #12
                        Das ist doch alles klar und keine Kunst, geh mal auf mein Beispiel mit dem Online Banking ein, ist es möglich den Status sozusagen einzufrieren, abzuspeichern, und an gleicher Stelle zu einem anderen Zeitpunkt weiterzumachen?

                        Kommentar


                        • #13
                          Banking ist nun kein besonders gutes Beispiel. Weil man dort aus Sicherheitsgründen Daten lediglich in der laufenden Session haben will. Davon abgesehen ließe sich natürlich ein bestimmter View (ausgewähltes Konto) einschließlich gesetzter Filter (Umsatzübersicht der letzten 4 Wochen) im User-Object abspeichern und beim nächsten Login wieder laden.

                          Kommentar

                          Lädt...
                          X