Ich habe dafür das Template mod_iso_orderdetails_google.html5 erstellt und es in das Modul Bestelldetails eingebunden. Dieses habe ich auf der Seite "Bestellung abgeschlossen" platziert.
PHP-Code:
<?php $this->extend('block_unsearchable'); ?>
<?php $this->block('content'); ?>
<?php
$emailAddress = '';
$mail = \Database::getInstance()->prepare("SELECT email FROM tl_iso_address WHERE id = ?")
->execute($this->collection->billing_address_id);
while ($mail->next()) {
$emailAddress = $mail->email;
}
$config = $this->collection->getRelated('config_id');
$country = $config->country;
?>
<script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script>
<script>
window.renderOptIn = function () {
window.gapi.load('surveyoptin', function () {
window.gapi.surveyoptin.render(
{
"merchant_id": XXXXXXXXX,
"order_id": "<?= $this->collection->id; ?>",
"email": "<?= $emailAddress; ?>",
"delivery_country": "<?= $country; ?>",
"estimated_delivery_date": "<?= date('Y-m-d', strtotime('+4 days', $this->collection->tstamp)); ?>",
});
});
}
</script>
<?php $this->endblock(); ?>
Zusätzlich habe ich ein Template iso_collection_google_review.html5 erstellt und es LEER gelassen, damit das Modul an der Stelle nichts ausgibt.
Des Weiteren habe ich dieses Skript noch in das vorhandene Cookie Consent aufgenommen, so dass es nicht ausgelöst wird, wenn der Benutzer nicht zustimmt.