Ergebnis 1 bis 9 von 9
  1. #1
    razzio ist offline Grünschnabel
    registriert
    06-04-2016
    Beiträge
    5

    Daten aus PHP-Smarty Objekt in ein Javascript übernehmen - Wie gehe ich heran?

    Hallo, ich bin in diesem Forum neu angemeldet weil ich mich gern in JavaScript weiter entwickeln möchte. Ich benötige Hilfe und Denkanstöße weil ich bisher über die Einbindung von jQuery und dessen Funktionen leider nicht hinaus gekommen bin. Nun möchte ich aber eigene Sachen umsetzen und hoffe, Ihr könnt mich hier etwas unter Eure Fittiche nehmen.

    Folgende Aufgabenstellung:
    Ich bekomme Werte aus einem Smarty-Aufruf (PHP) geliefert, die ich in ein JavaScript (in einen DataLayer für den Google Tag Manager) einbetten muss. Das betrifft die Liste eines Warenkorbes mit bestimmten Werten zu den enthaltenen Artikeln.

    Der Datalayer für Google/Criteo muss dieses Format haben:
    Code:
    <script type="text/javascript">
    var product_list = [];
    product_list.push(
     { id: "productID_1", price: price_1, quantity: quantity_1 },
     { id: "productID_2", price: price_2, quantity: quantity_2 }
     /* add a line for each item in the user's cart */
    );
    Da ich VORHER nicht festlegen kann, wie viele Artikel im Warenkorb liegen werden, weiß ich nicht wie ich diese "Liste" bauen soll. In den PHP-Werten ist die Anzahl der Artikel aber sehr wohl enthalten und eventuell könnte man mit diesem Wert ja etwas anfangen?

    Ich dachte mir also zunächst Folgendes:
    1. Ich muss die erhaltenen Daten in ein Array schreiben.
    2. Ich muss die Daten aus diesem JavaScript-Array in die Liste per foreach schreiben.


    Über diesen theoretischen Ansatz komme ich aber leider allein nicht hinweg. Könnt Ihr mir bitte helfen?

    Herzliche Grüße, Razzio
    Geändert von razzio (06-04-2016 um 09:37 Uhr)

  2. #2
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.642

    AW: Daten aus PHP-Smarty Objekt in ein Javascript übernehmen - Wie gehe ich heran?

    Zitat Zitat von razzio Beitrag anzeigen
    Ich dachte mir also zunächst folgendes:
    1. Ich muss die erhaltenen Daten in ein Array schreiben.
    2. Ich muss die Daten aus diesem JavaScript-Array in die Liste per foreach schreiben.
    product_list ist ja auch ein array, also kannst du sie auch gleich da rein schreiben

    Zitat Zitat von razzio Beitrag anzeigen
    Über diesen theoretischen Ansatz komme ich aber leider allein nicht hinweg.
    warum? du müsstest schon sagen wo dein problem ist. wie sehen denn die daten aus, die du bekommst?

  3. #3
    razzio ist offline Grünschnabel
    registriert
    06-04-2016
    Beiträge
    5

    AW: Daten aus PHP-Smarty Objekt in ein Javascript übernehmen - Wie gehe ich heran?

    Hallo tsseh!
    Du meinst also so in etwa?
    Code:
     
    <script type="text/javascript">
    	var product_list = [];
    	product_list.push(
            {foreach from=$smarty.session.Warenkorb->PositionenArr item=oPosition}
    		{id: {$Artikel->cArtNr}, price: {$oPosition->cEinzelpreisLocalized[$NettoPreise]}, quantity: {$oPosition->nAnzahl|replace_delim} },
             {/foreach}
    	);
    </script>
    Du siehst da auch wie ich die Daten bekomme. Wie gesagt, ich bin Anfänger und taste mich vor.

  4. #4
    Avatar von Dormilich
    Dormilich ist offline Kaiser
    registriert
    15-01-2010
    Beiträge
    1.289

    AW: Daten aus PHP-Smarty Objekt in ein Javascript übernehmen - Wie gehe ich heran?

    Da Smarty die Daten aus PHP bekommt, warum nicht gleich json_encode() verwenden? Es ist nicht die Aufgabe einer Template-Engine Business-Logik (Erstellung eines Datensatzes) durchzuführen.

  5. #5
    razzio ist offline Grünschnabel
    registriert
    06-04-2016
    Beiträge
    5

    AW: Daten aus PHP-Smarty Objekt in ein Javascript übernehmen - Wie gehe ich heran?

    Hallo Dormilich,
    daran dachte ich auch aber wie bekomme ich sie dann in die gewünschte Form "id: {$Artikel->cArtNr}"? Ich bekomme ja nur {$Artikel->cArtNr} ausgegeben. Wenn ich gerade davon spreche: Ich kann gar nicht mal mit einem Array arbeiten weil es mir ja "nur" die darin befindlichen Werte ausgibt und die erwartete Form
    Code:
    { id: "productID_1", price: price_1, quantity: quantity_1 },
    ...
    nicht erzeugt. Ich muss also irgendwie "id:", "price:" und "quantity:" davor setzen. Aber wie mache ich das? Und das dann auch noch als Schleife...

  6. #6
    Avatar von Dormilich
    Dormilich ist offline Kaiser
    registriert
    15-01-2010
    Beiträge
    1.289

    AW: Daten aus PHP-Smarty Objekt in ein Javascript übernehmen - Wie gehe ich heran?

    da gibt’s verschiedene Varianten:
    - array_map()
    - array_reduce()
    - array_walk()
    … oder eine Kombination davon

    Da ich aber dein Ausgangsarray ($PositionenArr) nicht kenne, kann ich auch nichts empfehlen.

  7. #7
    razzio ist offline Grünschnabel
    registriert
    06-04-2016
    Beiträge
    5

    AW: Daten aus PHP-Smarty Objekt in ein Javascript übernehmen - Wie gehe ich heran?

    Das Array ist so umfangreich dass ich es nicht hier einstellen mag. Kann ich es Dir per PN zukommen lassen?

  8. #8
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.678

    AW: Daten aus PHP-Smarty Objekt in ein Javascript übernehmen - Wie gehe ich heran?

    Was liefert denn der Code in #3 als HTML an den Browser aus?

  9. #9
    Avatar von Dormilich
    Dormilich ist offline Kaiser
    registriert
    15-01-2010
    Beiträge
    1.289

    AW: Daten aus PHP-Smarty Objekt in ein Javascript übernehmen - Wie gehe ich heran?

    es reicht, wenn du die notwendige Struktur postest.

Ähnliche Themen

  1. Daten aus Popup übernehmen
    Von Deezelpower im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 27-04-2010, 11:29
  2. Daten von Childwindow in Parentwindow mit JS übernehmen
    Von bad-ger-man im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 25-01-2010, 12:11
  3. daten aus parent übernehmen?
    Von moody im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 12-12-2008, 09:20
  4. ajax - daten aus divbox übernehmen
    Von ToM80 im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 14-07-2007, 11:52
  5. Daten aus iframe übernehmen
    Von Squeek im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 24-04-2007, 14:15

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •