added option to add variants in view_item event

This commit is contained in:
Florian Palme
2025-04-02 12:20:40 +02:00
committed by MaxBUhe
parent 2b8192da26
commit cf463a60e2
4 changed files with 43 additions and 4 deletions

View File

@ -40,6 +40,7 @@ class GA4AdminUserInterface_main extends \OxidEsales\Eshop\Application\Controlle
'_blUseRealCategoyTitles', '_blUseRealCategoyTitles',
'_blEnableMeasurementCapabilities', '_blEnableMeasurementCapabilities',
'_blEnableUsercentricsConsentModeApi', '_blEnableUsercentricsConsentModeApi',
'_blViewItemAddVariants',
]; ];
foreach ($aCheckBoxParams as $checkBoxName){ foreach ($aCheckBoxParams as $checkBoxName){

View File

@ -126,4 +126,7 @@ Nachher:
src="{Domain}?id={Container-ID}" src="{Domain}?id={Container-ID}"
</code> </code>
</pre>', </pre>',
'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.<br />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.',
); );

View File

@ -210,6 +210,22 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col-6">
<div class="card mb-5">
<div class="card-header">
[{oxmultilang ident="D3EXTENDEDCONFIG"}]
</div>
<div class="card-body">
<div class="form-check mb-3">
<input class="form-check-input" type="checkbox" value="" name="editval[bool][_blViewItemAddVariants]" [{if $d3ViewObject->d3GetModuleConfigParam('_blViewItemAddVariants')}]checked[{/if}] id="blGA4enab">
<label class="form-check-label" for="flexCheckDefault">
[{oxmultilang ident="D3VIEWITEMADDVARIANTS"}][{oxinputhelp ident="D3VIEWITEMADDVARIANTS_HELP"}]
</label>
</div>
</div>
<button type="submit" name="save" class="btn btn-light" onClick="Javascript:document.d3gtmformedit.fnc.value='save'">[{oxmultilang ident="GENERAL_SAVE"}]</button>
</div>
</div>
</div> </div>
</form> </form>
</div> </div>

View File

@ -15,10 +15,10 @@
'items': 'items':
[ [
{ {
'item_oxid': '[{$gtmProduct->getFieldData("oxid")}]', 'item_oxid': '[{$gtmProduct->getFieldData("oxid")}]',
'item_name': '[{$gtmProduct->getFieldData("oxtitle")}]', 'item_name': '[{$gtmProduct->getRawFieldData("oxtitle")}]',
'item_id': '[{$gtmProduct->getFieldData("oxartnum")}]', 'item_id': '[{$gtmProduct->getFieldData("oxartnum")}]',
'item_brand': '[{if $gtmManufacturer}][{$gtmManufacturer->oxmanufacturers__oxtitle->value}][{/if}]', 'item_brand': '[{if $gtmManufacturer}][{$gtmManufacturer->oxmanufacturers__oxtitle->value}][{/if}]',
'item_variant': '[{if $gtmProduct->getFieldData("oxvarselect")}][{$gtmProduct->getFieldData("oxvarselect")}][{/if}]', 'item_variant': '[{if $gtmProduct->getFieldData("oxvarselect")}][{$gtmProduct->getFieldData("oxvarselect")}][{/if}]',
[{if $gtmCategory}] [{if $gtmCategory}]
'item_category': '[{$gtmCategory->getSplitCategoryArray(0, true)}]', 'item_category': '[{$gtmCategory->getSplitCategoryArray(0, true)}]',
@ -30,6 +30,25 @@
[{assign var="d3PriceObject" value=$gtmProduct->getPrice()}] [{assign var="d3PriceObject" value=$gtmProduct->getPrice()}]
[{oxhasrights ident="SHOWARTICLEPRICE"}]'price': [{$d3PriceObject->getPrice()}][{/oxhasrights}] [{oxhasrights ident="SHOWARTICLEPRICE"}]'price': [{$d3PriceObject->getPrice()}][{/oxhasrights}]
} }
[{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()}], }[{if $oViewConf->isDebugModeOn()}],
'debug_mode': 'true' 'debug_mode': 'true'