From e6b927308d3221340d42f3dfba8f4b36710d93be Mon Sep 17 00:00:00 2001 From: Florian Palme Date: Wed, 2 Apr 2025 12:20:40 +0200 Subject: [PATCH] added option to add variants in view_item event --- .../Admin/GA4AdminUserInterface_main.php | 1 + .../views/de/d3googleanalytics4_lang.php | 5 +++- .../smarty/admin/d3googleanalytics4_main.tpl | 16 +++++++++++ views/smarty/event/view_item.tpl | 27 ++++++++++++++++--- 4 files changed, 44 insertions(+), 5 deletions(-) diff --git a/Application/Controller/Admin/GA4AdminUserInterface_main.php b/Application/Controller/Admin/GA4AdminUserInterface_main.php index f23e577..36c6605 100644 --- a/Application/Controller/Admin/GA4AdminUserInterface_main.php +++ b/Application/Controller/Admin/GA4AdminUserInterface_main.php @@ -40,6 +40,7 @@ class GA4AdminUserInterface_main extends \OxidEsales\Eshop\Application\Controlle '_blUseRealCategoyTitles', '_blEnableMeasurementCapabilities', '_blEnableUsercentricsConsentModeApi', + '_blViewItemAddVariants', ]; foreach ($aCheckBoxParams as $checkBoxName){ diff --git a/Application/views/de/d3googleanalytics4_lang.php b/Application/views/de/d3googleanalytics4_lang.php index e8c3c32..2c81f92 100644 --- a/Application/views/de/d3googleanalytics4_lang.php +++ b/Application/views/de/d3googleanalytics4_lang.php @@ -123,4 +123,7 @@ Nachher: src="{Domain}?id={Container-ID}" ', -]; \ No newline at end of file + 'D3EXTENDEDCONFIG' => 'Erweiterte Konfiguration', + 'D3VIEWITEMADDVARIANTS' => 'Varianten in view_item Event senden', + 'D3VIEWITEMADDVARIANTS_HELP' => 'Wenn aktiviert, werden die Varianten des Produktes im view_item Event beim betrachten des Vater-Artikels an Google Analytics gesendet.
Dies ist dann notwendig, wenn die Varianten nicht gesondert ausgewählt werden können und direkt von der Seite des Vater-Artikels in den Warenkorb gelegt werden können.', +); \ No newline at end of file diff --git a/views/smarty/admin/d3googleanalytics4_main.tpl b/views/smarty/admin/d3googleanalytics4_main.tpl index 022730d..02183a1 100644 --- a/views/smarty/admin/d3googleanalytics4_main.tpl +++ b/views/smarty/admin/d3googleanalytics4_main.tpl @@ -210,6 +210,22 @@ +
+
+
+ [{oxmultilang ident="D3EXTENDEDCONFIG"}] +
+
+
+ d3GetModuleConfigParam('_blViewItemAddVariants')}]checked[{/if}] id="blGA4enab"> + +
+
+ +
+
\ No newline at end of file diff --git a/views/smarty/event/view_item.tpl b/views/smarty/event/view_item.tpl index bf90999..d00fe8f 100644 --- a/views/smarty/event/view_item.tpl +++ b/views/smarty/event/view_item.tpl @@ -16,10 +16,10 @@ 'items': [ { - 'item_oxid': '[{$gtmProduct->getFieldData("oxid")}]', - 'item_name': '[{$gtmProduct->getFieldData("oxtitle")}]', - 'item_id': '[{$gtmProduct->getFieldData("oxartnum")}]', - 'item_brand': '[{if $gtmManufacturer}][{$gtmManufacturer->oxmanufacturers__oxtitle->value}][{/if}]', + 'item_oxid': '[{$gtmProduct->getFieldData("oxid")}]', + 'item_name': '[{$gtmProduct->getRawFieldData("oxtitle")}]', + 'item_id': '[{$gtmProduct->getFieldData("oxartnum")}]', + 'item_brand': '[{if $gtmManufacturer}][{$gtmManufacturer->oxmanufacturers__oxtitle->value}][{/if}]', 'item_variant': '[{if $gtmProduct->getFieldData("oxvarselect")}][{$gtmProduct->getFieldData("oxvarselect")}][{/if}]', [{if $gtmCategory}] 'item_category': '[{$gtmCategory->getSplitCategoryArray(0, true)}]', @@ -31,6 +31,25 @@ [{assign var="d3PriceObject" value=$gtmProduct->getPrice()}] 'price': [{$d3PriceObject->getPrice()}] } + [{if $oViewConf->d3GetModuleConfigParam('_blViewItemAddVariants')}], + [{foreach from=$gtmProduct->getVariants() item="oVariant"}] + , { + 'item_name': '[{$oVariant->getRawFieldData("oxtitle")}]', + 'item_id': '[{$oVariant->getFieldData("oxartnum")}]', + 'item_brand': '[{if $gtmManufacturer}][{$gtmManufacturer->oxmanufacturers__oxtitle->value}][{/if}]', + 'item_variant': '[{if $oVariant->getFieldData("oxvarselect")}][{$oVariant->getFieldData("oxvarselect")}][{/if}]', + [{if $gtmCategory}] + 'item_category': '[{$gtmCategory->getSplitCategoryArray(0, true)}]', + 'item_category2': '[{$gtmCategory->getSplitCategoryArray(1, true)}]', + 'item_category3': '[{$gtmCategory->getSplitCategoryArray(2, true)}]', + 'item_category4': '[{$gtmCategory->getSplitCategoryArray(3, true)}]', + 'item_list_name': '[{$gtmCategory->getSplitCategoryArray()}]', + [{/if}] + [{assign var="d3PriceObject" value=$oVariant->getPrice()}] + 'price': [{$d3PriceObject->getPrice()}] + } + [{/foreach}] + [{/if}] ] }[{if $oViewConf->isDebugModeOn()}], 'debug_mode': 'true'