Henry: Variablennamen im Shopsystem identifizieren

Hallo,

einer meiner Kunden verwendet ein auf Virtuemart basierendes Shop-System.

Siehe hierzu folgender Thread:

http://forum.selfhtml.org/self/2015/aug/31/um-welches-shop-system-handelt-es-sich/1648908#m1648908

Für meinen Kunden möchte ich das auf Google Analytics basierende E-Commerce-Tracking einrichten. Im Normalfall gebe ich meinen Kunden das Grundprinzip vor, damit das E-Commerce-Tracking funktioniert. In der Zusammenarbeit mit dem Programmierer des Kunden klappt das meist prima. Ich selbst bin kein Programmierer und habe diesbezüglich auch nur grundlegende Kenntnisse.

Bei diesem Kunden gibt es leider keinen Programmierer als Ansprechpartner. Aus diesem Grund hat der Kunde sich ein Angebot zwecks Anpassung des Quellcodes hinsichtlich des E-Commerce Trackings bei einer externen Firma einholt. Der externe Programmierer will für die kleine Anpassung 3,5 Manntage berechnen. Mein Kunde und ich sind der Meinung das das zuviel ist. Aus diesem Grund wollen mein Kunden und ich uns gemeinsam etwas einarbeiten um die Sache selbst umzusetzen. Dabei lerne ich dann sogar ein bißchen PHP :-).

Die meisten Probleme haben wir bereits gelöst. Das einzige was wir noch zur Lösung des Problems benötigen ist die Möglichkeiten auf die folgenden Variablen im Shopsystem mit Hilfe von PHP zuzugreifen:

Transaktionvariablen:

  • ID der aktuellen Transaktion
  • Warenkorbwert der aktuelllen Transaktion
  • Anzahl der Artikel in der aktuellen Transaktion

Artikelvariablen:

  • Name des Artikels [i]
  • SKU der Artikels [i]
  • Kategorie des Artikels [i]
  • Preis der Artikels [i]
  • Anzahl des bestellten Artikel [i]

Leider finde ich nirgends eine Dokumentation oder ein Forum bezogen auf den genannten Shop.

In diesem Kontext die Frage, wie ihr Vorgehen würdet um herauszufinden, wie ich auf die oben genannten Shop Variablen per PHP zugreifen kann.

  1. Tach,

    Leider finde ich nirgends eine Dokumentation oder ein Forum bezogen auf den genannten Shop.

    da würde mich interessieren, nach was du gesucht hast? http://docs.virtuemart.net/ inklusive API-Dokumentation und http://forum.virtuemart.net/, beides verlinkt auf der Startseite des Projekts.

    mfg
    Woodfighter

    1. da würde mich interessieren, nach was du gesucht hast? http://docs.virtuemart.net/ inklusive API-Dokumentation und http://forum.virtuemart.net/, beides verlinkt auf der Startseite des Projekts.

      Sorry, dachte der Shop funktioniert anders als Virtuemart, weil er ja nur darauf basiert :-)

      1. Tach,

        da würde mich interessieren, nach was du gesucht hast? http://docs.virtuemart.net/ inklusive API-Dokumentation und http://forum.virtuemart.net/, beides verlinkt auf der Startseite des Projekts.

        Sorry, dachte der Shop funktioniert anders als Virtuemart, weil er ja nur darauf basiert :-)

        falls der Shop so weit modifiziert ist, dass die von dir genannten Dinge andersweitig funktionieren, hast soweit nur du den Quelltext vorliegen (zumindest lizenztechnisch sollte es allerdings kein Problem sein, diesen zu zeigen).

        mfg
        Woodfighter

        1. falls der Shop so weit modifiziert ist, dass die von dir genannten Dinge andersweitig funktionieren, hast soweit nur du den Quelltext vorliegen (zumindest lizenztechnisch sollte es allerdings kein Problem sein, diesen zu zeigen).

          • So, die Frage hab ich jetzt mal im Forum gestellt in der Hoffnung, dass ich eine Antwort erhalte: Frage im Forum

          • Des Weiteren habe ich eine ganze Weile in der Doku rumgesucht und folgendes gefunden: relevante Variablen laut Doku. Sind das die Varialben die ich brauche bzw. kann ich auf diese ohne weiteres per PHP zugreifen?

          • Angenommen weder meine Frage im Forum noch die Doku helfen mir bei der Lösung des Problems. Ich bräuchte einen Plan B. Diesbezüglich schreibst du, ich könnte das Problem lösen indem ich auf die Quellen des Shops zugreife. Kurzum ich lade mir die Quellen runter und suche in diesen nach den relevanten Variablen. Offen sollten die Quellen ja sein, da der Shop ja ebenfalls wie Virtuemart auch unter der GNU Lizenz liegenn muss (weil er ja basierend auf Virtuemart entwickelt wurde). Die Frage ist nur wie ich strategisch klug vorgehe um ausgehend von den Quellen mein Problem zu lösen. Hast du hier ein paar Tipps? Wie würdest du vorgehen?

          1. Tach,

            • Des Weiteren habe ich eine ganze Weile in der Doku rumgesucht und folgendes gefunden: relevante Variablen laut Doku. Sind das die Varialben die ich brauche

            das sind alle Variablen, die das Shopsystem definiert; da kommen sicher noch die allgemein bei PHP verfügvaren hinzu. Das ist auch nicht die sinnvollste Ansicht, du möchtest vermutlich eher in die Klassenhierarchie schauen, da einige der Werte, die du suchst nur über Methoden (die du z.T. selber schreiben müssen wirst) zur Verfügung stehen werden.

            kann ich auf diese ohne weiteres per PHP zugreifen?

            Im Prinzip ja, da wo sie jeweils existieren.

            • Angenommen weder meine Frage im Forum noch die Doku helfen mir bei der Lösung des Problems. Ich bräuchte einen Plan B. Diesbezüglich schreibst du, ich könnte das Problem lösen indem ich auf die Quellen des Shops zugreife. Kurzum ich lade mir die Quellen runter und suche in diesen nach den relevanten Variablen. Offen sollten die Quellen ja sein, da der Shop ja ebenfalls wie Virtuemart auch unter der GNU Lizenz liegenn muss (weil er ja basierend auf Virtuemart entwickelt wurde). Die Frage ist nur wie ich strategisch klug vorgehe um ausgehend von den Quellen mein Problem zu lösen. Hast du hier ein paar Tipps? Wie würdest du vorgehen?

            Ich würde jemanden anstellen, der sich mit objektorientierter PHP-Programmierung (bevorzugt auch mit Joomla-Plugins bzw. dem Shop selber) auskennt. Ein Shopsystem ist nichts, wo ein Anfänger Änderungen vornehmen sollte. Ich selber habe schonmal Dinge in PHP geschrieben bzw. angepasst und würde davon ausgehen, dass ich mindestens eine Woche Einarbeitungszeit bräuchte, um das vernünftig umsetzen zu können. Es geht ja nicht nur darum, ein paar Zeilen Code in die vorhandenen Dateien einzubauen, sondern das muss als ordentliches Plugin entwickelt werden, damit es eine Chance hat, auch nach dem nächsten Joomla-/Virtuemart-Update noch zu funktionieren.

            Das wäre allerdings bereits mein Plan B, als Plan A würde ich einfach eine der bereits existierenden Erweiterungen nutzen: z.B. http://extensions.virtuemart.net/products/bit-virtuemart-google-analytics-detail und http://www.virtuemartrackingextension.com/ sind bei der Suchmaschine meiner Wahl auf der [ersten Ergebnisseite](https://duckduckgo.com/?q=virtuemart analytic) für die Stichwörter virtuemart und analytics.

            mfg
            Woodfighter

            1. Ich würde jemanden anstellen, der sich mit objektorientierter PHP-Programmierung (bevorzugt auch mit Joomla-Plugins bzw. dem Shop selber) auskennt.

              Ich möchte ja jemanden anstellen, ist halt nicht einfach jemanden zu finden :-).

              Ich möchte des weiteren zumindest das Grundprinzip dahinter verstehen, aus reinem Interesse. Dieser jemand sollte mir deshalb erklären wie er vorgegangen ist um das Problem zu lösen. Ich möchte mich ja weiterentwicklen :-).

              Das wäre allerdings bereits mein Plan B, als Plan A würde ich einfach eine der bereits existierenden Erweiterungen nutzen: z.B. http://extensions.virtuemart.net/products/bit-virtuemart-google-analytics-detail und http://www.virtuemartrackingextension.com/ sind bei der Suchmaschine meiner Wahl auf der [ersten Ergebnisseite](https://duckduckgo.com/?q=virtuemart analytic) für die Stichwörter virtuemart und analytics.

              An diese existierenden Erweiterungen habe ich natürlich auch schon gedacht. Da sprechen allerdings zwei Dinge dagegen:

              • Die Erweiterungen basieren meistens nicht auf dem Google Tag Manager
              • Die Erweiteurngen existieren für Virtuemarkt die Frage ist nur ob diese dann auch auf dem Shop-System des Kunden funktionieren. Er verwendet ja nicht Virtuemart sondern stattdessen ein System welches basierend auf den Quellen von Virtuemart entwickelt wurde.
              1. Tach,

                Ich möchte des weiteren zumindest das Grundprinzip dahinter verstehen, aus reinem Interesse. Dieser jemand sollte mir deshalb erklären wie er vorgegangen ist um das Problem zu lösen. Ich möchte mich ja weiterentwicklen :-).

                dagegen spricht ja nichts, eher im Gegenteil, aber dann suchst du nicht nur einen Programmierer, der das Problem löst, sondern einen der zusätzlich Lehrer spielen will (und sich damit zukünftige Konkurrenz schafft), das wird vermutlich deutlich teurer und ausgehend von deinen bisherigen Postings solltest du an anderer, grundlegenderer Stelle anfangen zu lernen.

                • Die Erweiterungen basieren meistens nicht auf dem Google Tag Manager

                Ich habe keine Ahnung, was das ist und das ist nachdem ich auf der Webseite war; aber ich möchte mit Google Analytics und ähnlichen Überwachungstechniken auch nichts zu tun haben.

                • Die Erweiteurngen existieren für Virtuemarkt die Frage ist nur ob diese dann auch auf dem Shop-System des Kunden funktionieren. Er verwendet ja nicht Virtuemart sondern stattdessen ein System welches basierend auf den Quellen von Virtuemart entwickelt wurde.

                Ich bin mir da nicht so sicher; ich würde behaupten, der verwendete Shop ist der von http://www.ca-web-to-print.com/ und hat nichts mit Klixo zu tun; ob der überhaupt auf Virtuemart basiert, ist zweifelhaft. Aber das sollte einfach zu klären sein, indem du deinen Kunden fragst mit wem er einen Vertrag abgeschlossen hat. Und der Shop scheint keine freie Software zu sein, dann darfst du ihn eh nicht ändern.

                mfg
                Woodfighter

                1. dagegen spricht ja nichts, eher im Gegenteil, aber dann suchst du nicht nur einen Programmierer, der das Problem löst, sondern einen der zusätzlich Lehrer spielen will (und sich damit zukünftige Konkurrenz schafft), das wird vermutlich deutlich teurer und ausgehend von deinen bisherigen Postings solltest du an anderer, grundlegenderer Stelle anfangen zu lernen.

                  Möchte ja auch bei den Grundlagen anfangen, momentan braucht der Kunde halt Hilfe und ich möchte nicht das der 3,5 Manntage bei dem anderen Unternehmen zahlen muss, das wäre einfach zuviel des Guten. Aus diesem Grund muss ich hier halt gleich in die Vollen gehen :-).

                  • Die Erweiterungen basieren meistens nicht auf dem Google Tag Manager

                  Ich habe keine Ahnung, was das ist und das ist nachdem ich auf der Webseite war.

                  Man bindet einmal den Google Tag Manager im Quellcode ein und hat dann den großen Vorteil, dass man sämtliche anderen Google Tags über das Backend des Google Tag Manangers sozusagen per Mausklick konfigurieren kann ohne das man den Quellcode erneut modifizieren muss. Wird seitens Google auch als Best Practice emfpohlen.

                  ; aber ich möchte mit Google Analytics und ähnlichen Überwachungstechniken auch nichts zu tun haben

                  Ich verdiene nunmal mein Brot damit, komme da leider nicht drum rum um ordentliche AdWords-Kampangen für meine Kunden (primär Online-Shops) erstellen zu können. Möchte dabei anmerken das ich natürlich mit "anonymizeIP" arbeite so das nicht auf einzelne Rechner rückgeschlossen werden kann.

                  Sie hierzu folgender Link:

                  https://www.datenschutzbeauftragter-info.de/fachbeitraege/google-analytics-datenschutzkonform-einsetzen/

                  Ich bin mir da nicht so sicher; ich würde behaupten, der verwendete Shop ist der von http://www.ca-web-to-print.com/ und hat nichts mit Klixo zu tun; ob der überhaupt auf Virtuemart basiert, ist zweifelhaft. Aber das sollte einfach zu klären sein, indem du deinen Kunden fragst mit wem er einen Vertrag abgeschlossen hat. Und der Shop scheint keine freie Software zu sein, dann darfst du ihn eh nicht ändern.

                  Du hattest Recht, Hut ab, würdest du mir kurz erklären wie du das herausgefunden hast.

                  Zu den Hintergründen die ich nach mehreren Telefonaten nun endlich im Detail kenne:

                  • der Kunde verwendet den Shop "Smart-Shop 3.0" von Color Alliance (wie von Dir vermutet)
                  • Grundlage bildet ein normales Joomla CMS
                  • "Smart-Shop 3.0" ist eine Alternative zu "Virtuemart" hat mit diesem also nichts zu tun

                  Laut Hersteller gibt es zwei Möglichkeiten zur Umsetzung des E-Commerce-Trackings:

                  Lösung 1:

                  Integration eines fertigen Moduls (wie von dir Vorgeschlagen). Die bauen das sogar kostenfrei eine :-), hätte ich da mal vorher nachgefragt, naja so hab ich dafür vieles von Euch gelernt. Das Problem, dass fertige Modul basiert noch auf dem klassischen Analytics, das bald nichtmehr seitens Google unterstützt wird. Heute will man mir ein Alternativangebot machen wo das fertige Modul auf das neue Universal Analytics migriert wird.

                  Lösung 2:

                  Händische Implemenetierung über den Google Tag Manager. Dazu müsste ich mich dann halt noch ein bißchen mit PHP auseinandersetzen. Wie ich auf die genannten Varialben per PHP zugreifen kann wird der Shop-Hersteller für hoffentlich kleines Geld für mich herausfinden. Diesbezüglich bekomme ich heute ein Angebot.

                  1. Tach,

                    Möchte ja auch bei den Grundlagen anfangen, momentan braucht der Kunde halt Hilfe und ich möchte nicht das der 3,5 Manntage bei dem anderen Unternehmen zahlen muss, das wäre einfach zuviel des Guten.

                    ich glaube nicht, dass das billiger wäre, wenn du dich zwei Wochen Vollzeit damit beschäftigst.

                    Man bindet einmal den Google Tag Manager im Quellcode ein und hat dann den großen Vorteil, dass man sämtliche anderen Google Tags über das Backend des Google Tag Manangers sozusagen per Mausklick konfigurieren kann ohne das man den Quellcode erneut modifizieren muss. Wird seitens Google auch als Best Practice emfpohlen.

                    Ja, das habe ich auch gelesen, aber das hilft meinem Verständnis nicht weiter.

                    Möchte dabei anmerken das ich natürlich mit "anonymizeIP" arbeite so das nicht auf einzelne Rechner rückgeschlossen werden kann.

                    Ich würde davon ausgehen, dass das bei ausreichendem Interesse Googles nicht ausreichend wäre.

                    Sie hierzu folgender Link:

                    https://www.datenschutzbeauftragter-info.de/fachbeitraege/google-analytics-datenschutzkonform-einsetzen/

                    Ist mir bekannt; ich setze trotzdem eher darauf die Installationsbasis von Ghostery, uBlock zu vergrößern.

                    Du hattest Recht, Hut ab, würdest du mir kurz erklären wie du das herausgefunden hast.

                    Im Quelltext der Seite ist zu sehen, dass es ein Joomla ist, das Alleinstellungsmerkmal des Shops war der „Smart Editor“ und mit den Stichworten „joomla "smart editor" shop“ bin ich dann auf Color Alliance gestoßen.

                    mfg
                    Woodfighter

                    1. ich glaube nicht, dass das billiger wäre, wenn du dich zwei Wochen Vollzeit damit beschäftigst.

                      Der Kunde zahlt ja nix dafür, mach das so, weil ich lernen möchte, verdienen tue ich bei dem Kunden woanders, vielleicht aber auch mal in diesem Bereich wenn ich fleißig hier im Forum dabei bleibe und von Euch lerne :-). Ich kann dem Kunden nur soviel Zeit berechnen wie ein Crack brauchen würde sonst wäre es unfair gegenüber dem Kunden...

                      Man bindet einmal den Google Tag Manager im Quellcode ein und hat dann den großen Vorteil, dass man sämtliche anderen Google Tags über das Backend des Google Tag Manangers sozusagen per Mausklick konfigurieren kann ohne das man den Quellcode erneut modifizieren muss. Wird seitens Google auch als Best Practice emfpohlen.

                      Ja, das habe ich auch gelesen, aber das hilft meinem Verständnis nicht weiter.

                      Wo ist denn Dein Verständnisproblem, vielleicht kann ich ja ausnahmsweise auch mal eine Frage beantworten ;-)

                      Möchte dabei anmerken das ich natürlich mit "anonymizeIP" arbeite so das nicht auf einzelne Rechner rückgeschlossen werden kann.

                      Ich würde davon ausgehen, dass das bei ausreichendem Interesse Googles nicht ausreichend wäre.

                      Was genau meinst du damit?

                      Ist mir bekannt; ich setze trotzdem eher darauf die Installationsbasis von Ghostery, uBlock zu vergrößern.

                      Ghostery nutze ich auch ziemlich cooles Plugin, uBlock nicht stattdessen Adblock (verbraucht aber wohl mehr Arbeitsspeicher als uBlock sollte über einen Wechsel nachdenken).

                      Verstehe aber hier den Zusammenhang nicht, was haben Ghostery und uBlock mit Analytics zu tun?

                      Im Quelltext der Seite ist zu sehen, dass es ein Joomla ist, das Alleinstellungsmerkmal des Shops war der „Smart Editor“ und mit den Stichworten „joomla "smart editor" shop“ bin ich dann auf Color Alliance gestoßen.

                      Coole Sache, wieder was gelernt.

                      1. Tach,

                        Man bindet einmal den Google Tag Manager im Quellcode ein und hat dann den großen Vorteil, dass man sämtliche anderen Google Tags über das Backend des Google Tag Manangers sozusagen per Mausklick konfigurieren kann ohne das man den Quellcode erneut modifizieren muss. Wird seitens Google auch als Best Practice emfpohlen.

                        Ja, das habe ich auch gelesen, aber das hilft meinem Verständnis nicht weiter.

                        Wo ist denn Dein Verständnisproblem, vielleicht kann ich ja ausnahmsweise auch mal eine Frage beantworten ;-)

                        Ich sehe keinen Zusammenhang zwischen einem Tag und Analytics.

                        Möchte dabei anmerken das ich natürlich mit "anonymizeIP" arbeite so das nicht auf einzelne Rechner rückgeschlossen werden kann.

                        Ich würde davon ausgehen, dass das bei ausreichendem Interesse Googles nicht ausreichend wäre.

                        Was genau meinst du damit?

                        Die IP zu anonymisieren ist meiner Meinung nach nicht ausreichend, es gibt zu viele andere Möglichkeiten mit einem nachgeladenen Javascript eine exakte Identifizierung durchzuführen, siehe z.B. https://panopticlick.eff.org/.

                        Verstehe aber hier den Zusammenhang nicht, was haben Ghostery und uBlock mit Analytics zu tun?

                        Sie verhindern, dass der Analytics-Code geladen wird.

                        mfg
                        Woodfighter

                        1. Man bindet einmal den Google Tag Manager im Quellcode ein und hat dann den großen Vorteil, dass man sämtliche anderen Google Tags über das Backend des Google Tag Manangers sozusagen per Mausklick konfigurieren kann ohne das man den Quellcode erneut modifizieren muss. Wird seitens Google auch als Best Practice emfpohlen.

                          Ja, das habe ich auch gelesen, aber das hilft meinem Verständnis nicht weiter.

                          Wo ist denn Dein Verständnisproblem, vielleicht kann ich ja ausnahmsweise auch mal eine Frage beantworten ;-)

                          Ich sehe keinen Zusammenhang zwischen einem Tag und Analytics.

                          In der Hinsicht hast du natürlich Recht, bei dem ganzen Kram der über den Google Tag Manager integriert werden kann handelt es sich ja um JavaScript kurzum eigentlich müsste es Google Script Manager und nicht Google Tag Manager heißen. Ich vemute mal das ist das was du meinst?

                          1. Tach,

                            Ich sehe keinen Zusammenhang zwischen einem Tag und Analytics.

                            In der Hinsicht hast du natürlich Recht, bei dem ganzen Kram der über den Google Tag Manager integriert werden kann handelt es sich ja um JavaScript kurzum eigentlich müsste es Google Script Manager und nicht Google Tag Manager heißen. Ich vemute mal das ist das was du meinst?

                            nö, ich habe eine vorstellung von einem Tag, nämlich eine Metainformation zu einem Datensatz; aber ich habe keine Ahnung, was das mit Analytics oder Werbeanbietern zu tun hat. Die Seite zum Tag Manager erklärt nur, wie toll ich damit die Tags manage kann, allerdings nicht, welchen Nutzen diese haben.

                            mfg
                            Woodfighter

                            1. nö, ich habe eine vorstellung von einem Tag, nämlich eine Metainformation zu einem Datensatz; aber ich habe keine Ahnung, was das mit Analytics oder Werbeanbietern zu tun hat. Die Seite zum Tag Manager erklärt nur, wie toll ich damit die Tags manage kann, allerdings nicht, welchen Nutzen diese haben.

                              Ich kann leider nicht nachvollziehen was du meinst, kannst du das etwas einfacher formulieren?

                              1. Tach,

                                nö, ich habe eine vorstellung von einem Tag, nämlich eine Metainformation zu einem Datensatz; aber ich habe keine Ahnung, was das mit Analytics oder Werbeanbietern zu tun hat. Die Seite zum Tag Manager erklärt nur, wie toll ich damit die Tags manage kann, allerdings nicht, welchen Nutzen diese haben.

                                Ich kann leider nicht nachvollziehen was du meinst, kannst du das etwas einfacher formulieren?

                                was kann ich mit dem Tag-Manager taggen und was ist dann der Nutzen der Tags?

                                mfg
                                Woodfighter

            2. Ich würde jemanden anstellen, der sich mit objektorientierter PHP-Programmierung (bevorzugt auch mit Joomla-Plugins bzw. dem Shop selber) auskennt. Ein Shopsystem ist nichts, wo ein Anfänger Änderungen vornehmen sollte. Ich selber habe schonmal Dinge in PHP geschrieben bzw. angepasst und würde davon ausgehen, dass ich mindestens eine Woche Einarbeitungszeit bräuchte, um das vernünftig umsetzen zu können. Es geht ja nicht nur darum, ein paar Zeilen Code in die vorhandenen Dateien einzubauen, sondern das muss als ordentliches Plugin entwickelt werden, damit es eine Chance hat, auch nach dem nächsten Joomla-/Virtuemart-Update noch zu funktionieren.

              Das wäre allerdings bereits mein Plan B, als Plan A würde ich einfach eine der bereits existierenden Erweiterungen nutzen: z.B. http://extensions.virtuemart.net/products/bit-virtuemart-google-analytics-detail und http://www.virtuemartrackingextension.com/ sind bei der Suchmaschine meiner Wahl auf der [ersten Ergebnisseite](https://duckduckgo.com/?q=virtuemart analytic) für die Stichwörter virtuemart und analytics.

              Ich bin der Lösung auf der Spur. Habe mit dem Anbieter telefoniert. Eine fertige Erweiterung existiert. Den Quellcode dieser Erweiterung hat der Anbieter mir zur Verfügung gestellt. Sprich anhand des Quellcodes weiß ich jetzt wie ich auf die Variablen zugreifen kann. Das Problem liegt allerding darin das ich bezogen auf die Erweiteurng nicht mit dem Google Tag Manager arbeiten kann und das die Erweiterungen nicht das neue Universal Anlytics nutzt sondern stattdessen das veraltete klassiche Analytics. Aus diesem Grund werde ich es händisch implementieren indem ich auf der Bestellbestätigungsseite den Data-Layer implementiere der laut der Google Doku vorgegeben wird. Kurzum ich muss mich jetzt nurnoch ein bißchen mit PHP auseinandersetzen, den Code auf die Bestellbestätigungsseite reinhauen und zack das Problem sollte gelöst sein. Bezogen auf den PHP-Code für die Bestellbestätigunsseite den ich gerade am bauen bin habe ich einen neuen Thread aufgemacht, es wäre sehr nett von Dir wenn du da auch mal reinschaust und dein Senf dazu gibt, da du ja die Hintergründe meiner Problematik kennst.

              Hier der Link zum Thread:

              http://forum.selfhtml.org/self/2015/sep/10/syntaxfehler-im-php-code-finden/1649689#m1649689

              Achso und hier noch der relevante Quellcode vom Anbieter:

              <?php
              defined('_JEXEC') or die;
              
              class PlgJshoppingGglecomtrack extends JPlugin{
              
              	function price_format($price){
              		return number_format($price, 2, '.', '');
              	}
              	
              	function onAfterDisplayCheckoutFinish(&$text, &$order, &$pm_method){
              		$config = JFactory::getConfig();
              		$db = JFactory::getDBO();
              		$lang = JSFactory::getLang();
              		
              		$items = $order->getAllItems();
              		
              		?>
              		<script>
              		ga('require', 'ecommerce');
              		
              		ga('ecommerce:addTransaction', {
              		  'id': '<?php print $order->order_number?>',                   
              		  'affiliation': '<?php print $config->get('sitename')?>',   
              		  'revenue': '<?php print $this->price_format($order->order_total)?>',
              		  'shipping': '<?php print $this->price_format($order->order_shipping)?>',
              		  'tax': '<?php print $this->price_format($order->order_tax)?>',
              		  'currency': '<?php print $order->currency_code_iso?>'
              		});
              		
              		
              		<?php foreach($items as $item){?>
              			<?php
              				$query = "SELECT cat.`".$lang->get('name')."` as name FROM `#__jshopping_products_to_categories` AS pr_cat
                              LEFT JOIN `#__jshopping_categories` AS cat ON pr_cat.category_id = cat.category_id
                              WHERE pr_cat.product_id = '".$db->escape($item->product_id)."'";
              				$db->setQuery($query);
              				$category = $db->loadResult();
              			?>
              			ga('ecommerce:addItem', {
              			  'id': '<?php print $order->order_number?>',
              			  'name': '<?php print addslashes($item->product_name)?>',
              			  'sku': '<?php print $item->product_ean?>',
              			  'category': '<?php print addslashes($category)?>',
              			  'price': '<?php print $this->price_format($item->product_item_price)?>',
              			  'quantity': '<?php print $item->product_quantity?>',
              			  'currency': '<?php print $order->currency_code_iso?>'
              			});
              		<?php } ?>
              		
              		ga('ecommerce:send');
              		
              		</script>
              		<?php
              	}
              	
              }