Hilfe bei den JS-Codes von Google Trusted Stores

20.02.2015 12:32
#1
FoxMulder
Joomshopping forum user no avatar
Name: FoxMulder
08.08.2012
Posts: 60
Quote
Hilfe bei den JS-Codes von Google Trusted Stores

Hallo zusammen,

ich versuche gerade "Google Trusted Stores" bei mir zu integrieren.
Nach der Anmeldung bei Google muss man 2 Java Script Codes auf den eigenen Seiten integrieren.

Script 1 ist für die Einbindung des Google Trusted Stores Batches um dies auf den Seiten auch zu präsentieren. Dies ist über ein neues Joomla Modul mit eigenem Inhalt relativ einfach gemacht.

Komplizierter wird es mit der Einbindung in JoomShopping.
Hier muss auf der Bestellabschluss-Seite der Code rein.



<!-- START Google Zertifizierte Händler Order -->
<div id="gts-order" style="display:none;" translate="no">

<!-- start order and merchant information -->
<span id="gts-o-id">MERCHANT_ORDER_ID</span>
<span id="gts-o-domain">MERCHANT_ORDER_DOMAIN</span>
<span id="gts-o-email">CUSTOMER_EMAIL</span>
<span id="gts-o-country">CUSTOMER_COUNTRY</span>
<span id="gts-o-currency">CURRENCY</span>
<span id="gts-o-total">ORDER_TOTAL</span>
<span id="gts-o-discounts">ORDER_DISCOUNTS</span>
<span id="gts-o-shipping-total">ORDER_SHIPPING</span>
<span id="gts-o-tax-total">ORDER_TAX</span>
<span id="gts-o-est-ship-date">ORDER_EST_SHIP_DATE</span>
<span id="gts-o-est-delivery-date">ORDER_EST_DELIVERY_DATE</span>
<span id="gts-o-has-preorder">HAS_BACKORDER_PREORDER</span>
<span id="gts-o-has-digital">HAS_DIGITAL_GOODS</span>
<!-- end order and merchant information -->

<!-- start repeated item specific information -->
<!-- item example: this area repeated for each item in the order -->
<span class="gts-item">
<span class="gts-i-name">ITEM_NAME</span>
<span class="gts-i-price">ITEM_PRICE</span>
<span class="gts-i-quantity">ITEM_QUANTITY</span>
<span class="gts-i-prodsearch-id">ITEM_GOOGLE_SHOPPING_ID</span>
<span class="gts-i-prodsearch-store-id">ITEM_GOOGLE_SHOPPING_ACCOUNT_ID</span>
<span class="gts-i-prodsearch-country">ITEM_GOOGLE_SHOPPING_COUNTRY</span>
<span class="gts-i-prodsearch-language">ITEM_GOOGLE_SHOPPING_LANGUAGE</span>
</span>
<!-- end item 1 example -->
<!-- end repeated item specific information -->

</div>
<!-- END Google Zertifizierte Händler Order -->




Nun muss man hier die Variabeln automatisch füllen lassen. Welche Werte benötigt werden ist hier beschrieben:
https://support.google.com/trustedstoresmerchant/answer/6063087?p=ordercode&hl=de&rd=1

Leider reichen meine Kenntnisse nicht sooo weit dies entsprechend aus JoomShopping setzen zu lassen. :-(

Ich hab es mit den PHP Variabeln aus der Bestellmail versucht..aber dies hat natürlich nicht geklappt. :-(


Kann mir jemand helfen und mir sagen wie ich die geforderten Variabeln entsprechend setzen kann?

Eingefügt wird der Code in der Seite "Seite "Auftrag beenden" " unter "Statische Texte" in JoomShopping.


Vielen lieben Dank und viele Grüße
Fox


Joomla: 2.5.28
JoomShopping: 3.20.0
Website Url: www.all4everyone.de
 
23.02.2015 10:45
#2
FoxMulder
Joomshopping forum user no avatar
Name: FoxMulder
08.08.2012
Posts: 60
Quote
Aw: Hilfe bei den JS-Codes von Google Trusted Stores

Hallo,

hat keiner eine Idee?

Der Code müsste wohl hier mit rein:
/components/com_jshopping/templates/defaultg/checkout/finish.php

Wie bekomme ich denn nun die benötigten Variabeln für die Bestellung gefüllt?

Danke euch und LG
Fox

 
23.02.2015 12:12
#3
babim
Joomshopping forum user no avatar
Name: babic mario
18.02.2013
Posts: 133
Quote
Aw: Hilfe bei den JS-Codes von Google Trusted Stores

Nicht ausprobiert aber versuche es mal so:

Variablen aus den php datein raussuchen.

den google-code verändern.
Statt
<span id="gts-o-shipping-total">ORDER_SHIPPING</span>

machst du
<span id="gts-o-shipping-total"><?php print _JSHOP_SHIPPING_PRICE;?></span>

es muß natürlich als PHP deklariert sein sonst wird die Variable nicht ausgelesen!

 
23.02.2015 12:47
#4
FoxMulder
Joomshopping forum user no avatar
Name: FoxMulder
08.08.2012
Posts: 60
Quote
Aw: Hilfe bei den JS-Codes von Google Trusted Stores

Hallo,

danke für die Antwort.

Ja so habe ich es auch schon getestet. Mit deinem Beispiel kommt halt nur der Inhalt hinter der "Sprachdefinition" raus. Also in dem Fall "Versandkosten" aber halt nicht der Wert. ;-)



Ich hab mal in die bestehenden Files z.b. previewfinish.php geschaut und versucht die dort benutzen Variablen zu nutzen.
Aber das klappt leider auch nicht sooo richtig! :-(

Beispiel:
<span id="gts-o-id"><?php print $order->order_number ?></span>

<span id="gts-o-domain">www.all4everyone.de</span>

<span id="gts-o-email"><?php print $this->order->d_email ?></span>

<span id="gts-o-country">DE</span>

<span id="gts-o-currency">EUR</span>

<span id="gts-o-total"><?php print formatprice($order->order_total);?></span>

<span id="gts-o-discounts"><?php print formatprice(-$order->order_discount);?></span>

<span id="gts-o-shipping-total"><?php print formatprice($order->order_shipping);?></span>



Ich hoffe auf weitere Hilfe.
Ich denke das ist auch für andere User dann definitiv interessant! :-)

Danke und LG
Fox

 
23.02.2015 13:45
#5
babim
Joomshopping forum user no avatar
Name: babic mario
18.02.2013
Posts: 133
Quote
Aw: Hilfe bei den JS-Codes von Google Trusted Stores

nimm dann dieses

<?php print formatprice($this->summ_delivery);?><?php print $this->_tmp_ext_shipping?>

 
23.02.2015 17:11
#6
FoxMulder
Joomshopping forum user no avatar
Name: FoxMulder
08.08.2012
Posts: 60
Quote
Aw: Hilfe bei den JS-Codes von Google Trusted Stores

Hmm....
damit wird nur

0,00 €


ausgegeben...

Es muss doch irgendwie möglich sein an die Werte zu kommen...:-/

 
23.02.2015 17:47
#7
babim
Joomshopping forum user no avatar
Name: babic mario
18.02.2013
Posts: 133
Quote
Aw: Hilfe bei den JS-Codes von Google Trusted Stores

was geben die anderen Variablen aus??

 
23.02.2015 18:12
#8
FoxMulder
Joomshopping forum user no avatar
Name: FoxMulder
08.08.2012
Posts: 60
Quote
Aw: Hilfe bei den JS-Codes von Google Trusted Stores

Also das hier mit ein paar statischen Anpassungen zum Test

<!-- start order and merchant information -->
<span id="gts-o-id"><?php print $order->order_number ?></span>
<span id="gts-o-domain">www.all4everyone.de</span>
<span id="gts-o-email"><?php print $this->order->d_email ?></span>
<span id="gts-o-country">DE</span>
<span id="gts-o-currency">EUR</span>
<span id="gts-o-total"><?php print formatprice($order->order_total);?></span>
<span id="gts-o-discounts"><?php print formatprice(-$order->order_discount);?></span>
<span id="gts-o-shipping-total"><?php print formatprice($order->order_shipping);?></span>
<span id="gts-o-tax-total">0</span>
<span id="gts-o-est-ship-date">2015-02-24</span>
<span id="gts-o-est-delivery-date">2015-02-27</span>
<span id="gts-o-has-preorder">N</span>
<span id="gts-o-has-digital">N</span>
<!-- end order and merchant information -->




gibt folgende Ausgabe:



www.all4everyone.de DE EUR 0,00 € 0,00 € 0,00 € 0 2015-02-24 2015-02-27 N N



Also quasi nix von dem was in der eigentlichen Bestellung drin ist. :-(


Ich bin gerade am testen über PHP dann im Anschluss die Werte direkt aus der DB zu ziehen. Der Order Eintrag ist ja zum Abschluss schon angelegt. Die Werte demnach in der DB vorhanden.
Nun bin ich leider nicht so der PHP und MySQL Profi um das alles aus der Hand zu schütteln...:-/ Bin noch am testen.

Mit "mysql_fetch_row" bekomm ich schon die ersten Werte ausgelesen.

Aber ob das letzlich alles das gelbe vom Ei ist wage ich zu bezweifeln! :-(

 
23.02.2015 18:45
#9
babim
Joomshopping forum user no avatar
Name: babic mario
18.02.2013
Posts: 133
Quote
Aw: Hilfe bei den JS-Codes von Google Trusted Stores

vielleicht brauchst du noch ganz oben etwas in dieser Art.

<?php defined('_JEXEC') or die('Restricted access');

glaube mich zu erinnern das es hier um die Session geht. Woher soll der code wissen welche werte ausgelesen werden sollen wenn z.B. 5 Kunden gleichzeitig bestellen.

 
23.02.2015 18:53
#10
FoxMulder
Joomshopping forum user no avatar
Name: FoxMulder
08.08.2012
Posts: 60
Quote
Aw: Hilfe bei den JS-Codes von Google Trusted Stores

Jo das hatte ich auch gedacht.
Deswegen hatte ich die letzten Tests direkt in der "prpreviewfinish.php" gemacht.
Also ganz unten angefügt.
Da hätte er mir ja einfach die Daten mit anzeigen sollen... Oben drüber kommen sie ja.

Hmm... Ein Mist... Und langsam verzweifel ich... :-(

 
23.02.2015 20:43
#11
babim
Joomshopping forum user no avatar
Name: babic mario
18.02.2013
Posts: 133
Quote
Aw: Hilfe bei den JS-Codes von Google Trusted Stores

dein google code auf jeden fall nach dem

<?php defined('_JEXEC') or die('Restricted access');

vielleicht bist du ja auch nur in der falschen php unterwegs?

 
23.02.2015 20:59
#12
babim
Joomshopping forum user no avatar
Name: babic mario
18.02.2013
Posts: 133
Quote
Aw: Hilfe bei den JS-Codes von Google Trusted Stores

ich denke das es so richtig ist nur bist du anscheinend in einer falschen php.

Du bekommst ja als ergebnis werte, sogar mit € zeichen.
als werden die variablen ja angesprochen, vielleicht sind sie zu diesem zeitpunkt nicht mehr aktuell oder falsche datei.

 
24.03.2015 11:40
#13
FoxMulder
Joomshopping forum user no avatar
Name: FoxMulder
08.08.2012
Posts: 60
Quote
Aw: Hilfe bei den JS-Codes von Google Trusted Stores

Hallo zusammen,

für alle die das gleiche Problem haben. Ich habe es nun anders gelöst da beim Bestellabschluss die nötigen Variablen von JoomShopping wohl nicht mehr zur Verfügung stehen.
Gelöst wurde es nun mit einer neuen DB Abfrage die bei beim Bestellabschluss gestartet wird. Die nötigen Daten sind zu dem Zeitpunkt nach der Bestellung alle ja in der DB schon vorhanden und können entsprechend abgefragt werden.
Hier mein Code....der sicher auch schöner geht!..aber ich bin da Anfänger und es funktioniert! :-)

Code für Händler-Gütesiegel
Dieses einfach in ein neues leeres Modul packen und auf allen Seiten anzeigen lassen. Die Felder im Code mit den eigenen Daten ersetzen.
Was da rein muss steht hier: https://support.google.com/trustedstoresmerchant/?p=badgecode


<!-- BEGIN: Google Zertifizierte Händler -->
<script type="text/javascript">
var gts = gts || [];

gts.push(["id", "545247"]);
gts.push(["badge_position", "BOTTOM_RIGHT"]);
gts.push(["locale", "PAGE_LANGUAGE"]);
gts.push(["google_base_offer_id", "ITEM_GOOGLE_SHOPPING_ID"]);
gts.push(["google_base_subaccount_id", "ITEM_GOOGLE_SHOPPING_ACCOUNT_ID"]);
gts.push(["google_base_country", "ITEM_GOOGLE_SHOPPING_COUNTRY"]);
gts.push(["google_base_language", "ITEM_GOOGLE_SHOPPING_LANGUAGE"]);

(function() {
var gts = document.createElement("script");
gts.type = "text/javascript";
gts.async = true;
gts.src = "https://www.googlecommerce.com/trustedstores/api/js";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(gts, s);
})();
</script>
<!-- END: Google Zertifizierte Händler -->



Code für Bestellbestätigungsseiten
Hier wird es nun komplizierter da dieser Code geladen werden muss NACHDEM die Bestellung erfolgreich eingegangen ist.
Was in die Felder muss steht hier: https://support.google.com/trustedstoresmerchant/?p=ordercode

Hier der original Code von Google:


<!-- START Google Zertifizierte Händler Order -->
<div id="gts-order" style="display:none;" translate="no">

<!-- start order and merchant information -->
<span id="gts-o-id">MERCHANT_ORDER_ID</span>
<span id="gts-o-domain">MERCHANT_ORDER_DOMAIN</span>
<span id="gts-o-email">CUSTOMER_EMAIL</span>
<span id="gts-o-country">CUSTOMER_COUNTRY</span>
<span id="gts-o-currency">CURRENCY</span>
<span id="gts-o-total">ORDER_TOTAL</span>
<span id="gts-o-discounts">ORDER_DISCOUNTS</span>
<span id="gts-o-shipping-total">ORDER_SHIPPING</span>
<span id="gts-o-tax-total">ORDER_TAX</span>
<span id="gts-o-est-ship-date">ORDER_EST_SHIP_DATE</span>
<span id="gts-o-est-delivery-date">ORDER_EST_DELIVERY_DATE</span>
<span id="gts-o-has-preorder">HAS_BACKORDER_PREORDER</span>
<span id="gts-o-has-digital">HAS_DIGITAL_GOODS</span>
<!-- end order and merchant information -->

<!-- start repeated item specific information -->
<!-- item example: this area repeated for each item in the order -->
<span class="gts-item">
<span class="gts-i-name">ITEM_NAME</span>
<span class="gts-i-price">ITEM_PRICE</span>
<span class="gts-i-quantity">ITEM_QUANTITY</span>
<span class="gts-i-prodsearch-id">ITEM_GOOGLE_SHOPPING_ID</span>
<span class="gts-i-prodsearch-store-id">ITEM_GOOGLE_SHOPPING_ACCOUNT_ID</span>
<span class="gts-i-prodsearch-country">ITEM_GOOGLE_SHOPPING_COUNTRY</span>
<span class="gts-i-prodsearch-language">ITEM_GOOGLE_SHOPPING_LANGUAGE</span>
</span>
<!-- end item 1 example -->
<!-- end repeated item specific information -->

</div>
<!-- END Google Zertifizierte Händler Order -->



Um diesen nun entsprechend zu laden und auszufüllen habe ich einen weiteren PHP Code mit DB Abfragen in die Abschlusseite gepackt:

folgende Datei bearbeiten:

components/com_jshopping/templates/defaultg/checkout/finish.php


am Ende dann den Code einfügen und mit den eigenen DB Daten (DB Login und im SQL Code den DB Namen setzen) und Google Daten ergänzen:


<!-- START Google Zertifizierte Hädler Order -->
<div id="gts-order" style="display:none;" translate="no">
<!-- start order and merchant information -->

<?php
$_db_host = "localhost";
$_db_username = "DB USER";
$_db_passwort = "DB PW";
$_db_datenbank = "DB NAME";


// Create connection
$conn = new mysqli($_db_host, $_db_username, $_db_passwort, $_db_datenbank);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}


//SQL Abfragen
$sql = "SELECT `order_id`, `order_number`, `email`, `order_total`, `order_discount`, `order_shipping` FROM `DB NAME`.`j25_jshopping_orders` ORDER BY `order_id` DESC LIMIT 1";
$result = $conn->query($sql);


if ($result->num_rows > 0) {
// output data of each row

while($rowid = $result->fetch_assoc()) {

$sql2 = "SELECT `order_id`, `product_name`, `product_item_price`, `product_quantity` FROM `DB NAME`.`j25_jshopping_order_item` WHERE `order_id` IN ('$rowid[order_id];') LIMIT 20";
$result2 = $conn->query($sql2);

$sqlmi = "SELECT `order_id`, `order_number`, `email`, `order_total`, `order_discount`, `order_shipping` FROM `DB NAME`.`j25_jshopping_orders` ORDER BY `order_id` DESC LIMIT 1";
$resultmi = $conn->query($sqlmi);

}

//Anzeigen

// output data of each row
while($rowmi = $resultmi->fetch_assoc()) {


echo "<span id=\"gts-o-id\">"; echo $rowmi["order_number"]; echo "</span></br>\n";
echo "<span id=\"gts-o-domain\">www.SHOPDOMAIN.de</span></br>\n";
echo "<span id=\"gts-o-email\">"; echo $rowmi["email"]; echo "</span></br>\n";
echo "<span id=\"gts-o-country\">DE</span></br>\n";
echo "<span id=\"gts-o-currency\">EUR</span></br>\n";
echo "<span id=\"gts-o-total\">"; echo $rowmi["order_total"]; echo "</span></br>\n";
echo "<span id=\"gts-o-discounts\">"; echo $rowmi["order_discount"]; echo "</span></br>\n";
echo "<span id=\"gts-o-shipping-total\">"; echo $rowmi["order_shipping"]; echo "</span></br>\n";
echo "<span id=\"gts-o-tax-total\">0</span></br>\n";
echo "<span id=\"gts-o-est-ship-date\">"; echo date('Y-m-d', strtotime('+5 day')); echo "</span></br>\n";
echo "<span id=\"gts-o-est-delivery-date\">"; echo date('Y-m-d', strtotime('+8 day')); echo "</span></br>\n";
echo "<span id=\"gts-o-has-preorder\">N</span></br>\n";
echo "<span id=\"gts-o-has-digital\">N</span>\n";

echo "<!-- end order and merchant information -->\n";

}


while($row2 = $result2->fetch_assoc()) {

$itemq = $row2["product_quantity"];
$itemq = (int)$itemq;
echo $itemq;


echo "<!-- start repeated item specific information -->\n";
echo "<!-- item example: this area repeated for each item in the order -->\n";

echo "<span class=\"gts-item\">\n";
echo "<span class=\"gts-i-name\">"; echo $row2["product_name"]; echo "</span></br>\n";
echo "<span class=\"gts-i-price\">"; echo $row2["product_item_price"]; echo "</span></br>\n";
echo "<span class=\"gts-i-quantity\">"; echo $itemq; echo "</span></br>\n";
echo "<span class=\"gts-i-prodsearch-id\">XXXXXXXXXX</span></br>\n";
echo "<span class=\"gts-i-prodsearch-store-id\">XXXXXXXXXX</span></br>\n";
echo "<span class=\"gts-i-prodsearch-country\">DE</span></br>\n";
echo "<span class=\"gts-i-prodsearch-language\">de</span></br>\n";
echo "</span>\n";


echo "<!-- end item 1 example -->\n";
echo "<!-- end repeated item specific information -->\n";

}
}

else {
echo "0 results";
}

?>



<?php

# Datenbankverbindung wieder schliessen
mysql_close($conn);
?>



</div>
<!-- END Google Zertifizierte Hädler Order -->





Damit konnte ich alle Tests mit verschiedenen Browsern bestehen. :-)
Fehlen nur noch die benötigten Bestellungen um den Qualifizierungszeitraum zu überstehen.

Bei Fragen oder Verbesserungen...einfach melden!

LG
Fox

www.all4everyone.de


Website Url: www.all4everyone.de
 
18.11.2015 17:54
#14
le5
Joomshopping forum user no avatar
Name: le5 GmbH
17.03.2012
Posts: 23
Quote
Aw: Hilfe bei den JS-Codes von Google Trusted Stores

Hallo

Du könntest das ganze ein bisschen schöner gestalten über die Triggers, sprich plugins.

Ich denke das wäre relativ ein kleiner Aufwand, nachdem Du schon soviel code geschrieben hast ;)

Schau Dir mal das Zip an, welches Du auch unter addons installieren kannst. Es geht genau in Deine gewünschte Richtung, nur nicht so detailiert.

viel glück
addon_jshopping_affilinet.zip

 
Copyrights MAXXmarketing GmbH. All Rights Reserved