Jump to content
xt:Commerce Community Forum

Zusatzinformationen zu einem Produkt im Warenkorb anzeigen


mjuergens
 Share

Recommended Posts

Ich habe mir ein eigenes Plugin programmiert, mit dem ich zusätzliche Informationen zu einem Produkt in einer Tabelle hinterlegen kann.

Die Zusatzinformationen werden in einer eigenen Tabelle gespeichert und nur die zugehörige ID des Datensatzes wird beim Produkt in einem eigenen Feld hinterlegt.

Die zusätzlichen Informationen zum Produkt werden aus der Tabelle gelesen und in einem Array an das Produkt übergeben um das im Frontend darzustellen. Das funktioniert auch problemlos indem eine entsprechende Abfrage über den Hook product_php__BuildData_bottom eingebaut habe, die die Informationen dann an das Array $this->data anfügt.
Somit habe ich die Information auf der Produktseite selber zur Verfügung und die Informationen stehen auch im Warenkorb auf der Seite cart.html im Template zur Verfügung, so dass ich diese auch im Warenkorb zum Produkt anzeigen kann.

Aber jetzt kommt das, wo ich gerade am verzweifeln bin: Wenn man das Produkt im Warenkorb aktualisiert (z.B. die Menge ändert) dann sind danach die Informationen nicht mehr verfügbar und auch auf der Checkout-Confirmation Seite sind die Informationen am Produkt sowieso gar nicht vorhanden (nur das Datenbankfeld vom Produkt mit der ID).

Ich bin schon so weit, dass das ganze wohl damit zu tun hat, dass der Warenkorbinhalt ja in der Session-Variable $_SESSION['cart'] gespeichert wird und da dann ab einem bestimmten Zeitpunkt eben diese Informationen zum Produkt verloren gehen. das eigentlich Feld mit der ID ist noch da, aber der Zusatzcontent, den ich in BuildData hinzugefügt habe ist dann weg.

Ich muss dann wohl noch irgendwo einbauen, dass die Zusatzinformationen aus der Tabelle explizit noch mal in die Session-Variabel des Warenkorbs eingefügt werden aber ich finde einfach den passenden Hook nicht wo ich das einfügen muss und an welche Variable ich das dranhängen muss, damit die Informationen an jeder Stelle zur Verfügung stehen.

Kann mir da jemand weiterhelfen?

 

Link to comment
Share on other sites

hallo,

ein passender Hook wäre: class.cart.php:_refresh_top oder class.cart.php:_refresh_content / class.cart.php:_refresh_bottom

    foreach ($_SESSION['cart']->content as $k=>$v) {
    }

 

dort z.B. auswerten( hier:: _top )

   foreach ($_SESSION['cart']->content as $k=>$v) {
         ... über $v['products_id'] Produkt-ID holen

        ....

        $_SESSION['cart']->show_content[$k] = ....

   }

oder ( _bottom )

   foreach ($_SESSION['cart']->show_content as $k=>$v) {
         ... über $v['products_id'] Produkt-ID holen

        ....

        $_SESSION['cart']->show_content[$k] = ....

   }

 

Grüsse

Link to comment
Share on other sites

On 9/22/2022 at 1:00 PM, mjuergens said:

Aber jetzt kommt das, wo ich gerade am verzweifeln bin: Wenn man das Produkt im Warenkorb aktualisiert (z.B. die Menge ändert) dann sind danach die Informationen nicht mehr verfügbar und auch auf der Checkout-Confirmation Seite sind die Informationen am Produkt sowieso gar nicht vorhanden (nur das Datenbankfeld vom Produkt mit der ID).

 

Das sollte normal nicht so sein(, soweit ich das ohne Code gesehen zu haben sagen kann). Klingt für mich nach Fehler in deinem php-Code

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
  • Create New...