merge rel_3.x changes to trunk

This commit is contained in:
Daniel Seifert 2017-03-13 12:34:08 +00:00
commit 84149daa0d
49 changed files with 1651 additions and 951 deletions

24
.gitattributes vendored
View File

@ -11,18 +11,18 @@ Sources/UGA_Einstellungen.jpg -text
Sources/UGA_Trichtereinrichtung.jpg -text
Sources/UGA_Trichtereinrichtung_1.jpg -text
Sources/trustedShops.jpg -text
changed_full/470-/modules/d3/d3_googleanalytics/views/blocks/layout/d3_base_googleadwordscode.tpl -text
changed_full/470-/modules/d3/d3_googleanalytics/views/blocks/layout/d3_base_googleanalytics.tpl -text
changed_full/470-/modules/d3/d3_googleanalytics/views/blocks/layout/d3_base_optout.tpl -text
changed_full/470-/modules/d3/d3_googleanalytics/views/tpl/widget/d3_googleanalytics.tpl -text
changed_full/470-/modules/d3/d3_googleanalytics/views/tpl/widget/d3ga_universal.tpl -text
changed_full/470-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_adwords.tpl -text
changed_full/470-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_adwordscode.tpl -text
changed_full/470-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_campaigncode.tpl -text
changed_full/470-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_custom.tpl -text
changed_full/470-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_ecommerce.tpl -text
changed_full/470-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_remarketing.tpl -text
changed_full/470-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_trustedstore.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/blocks/layout/d3_base_googleadwordscode.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/blocks/layout/d3_base_googleanalytics.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/blocks/layout/d3_base_optout.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/d3_googleanalytics.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/d3ga_universal.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_adwords.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_adwordscode.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_campaigncode.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_custom.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_ecommerce.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_remarketing.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_trustedstore.tpl -text
copy_this/.noencode -text
copy_this/modules/d3/d3_googleanalytics/IntelliSenseHelper.php -text
copy_this/modules/d3/d3_googleanalytics/controllers/admin/d3_cfg_googleanalytics.php -text

View File

@ -1,29 +0,0 @@
[{$smarty.block.parent}]
[{d3modcfgcheck modid="d3_googleanalytics"}]
[{/d3modcfgcheck}]
[{if $mod_d3_googleanalytics}]
[{* Content shouldn't rendered in disabled module!
Because of this reason, it can't included in d3modcfgcheck block. *}]
[{if $oD3GASettings->getValue('sD3GATSActive') && $oD3GASettings->getValue('sD3GATSId')}]
[{capture name="d3GATrustedStoreCode"}]
[{strip}]
[{include file="d3ga_universal_trustedstore.tpl"}]
[{/strip}]
[{/capture}]
[{if $oViewConf->getActiveClassName() == 'thankyou'}]
[{$oView->logCode($smarty.capture.d3GATrustedStoreCode)}]
[{/if}]
[{$smarty.capture.d3GATrustedStoreCode}]
[{/if}]
[{include file="d3ga_universal_adwordscode.tpl"}]
[{include file="d3ga_universal_remarketing.tpl"}]
[{include file="d3ga_universal_campaigncode.tpl"}]
[{/if}]

View File

@ -1,14 +0,0 @@
[{$smarty.block.parent}]
[{d3modcfgcheck modid="d3_googleanalytics"}]
[{/d3modcfgcheck}]
[{if $mod_d3_googleanalytics}]
[{* Content shouldn't rendered in disabled module!
Because of this reason, it can't included in d3modcfgcheck block. *}]
[{include file=$sD3GATTpl}]
[{oxstyle include=$oViewConf->getModuleUrl('d3_googleanalytics', 'out/src/d3_googleanalytics.css')}]
[{if $blD3GAIsMobile}]
[{oxstyle include=$oViewConf->getModuleUrl('d3_googleanalytics', 'out/src/d3_googleanalytics_mobile.css')}]
[{/if}]
[{/if}]

View File

@ -1,28 +0,0 @@
[{$smarty.block.parent}]
[{d3modcfgcheck modid="d3_googleanalytics"}]
[{/d3modcfgcheck}]
[{if $mod_d3_googleanalytics && $oD3GASettings->getValue('blD3GAUseOptOut')}]
<div id="d3GAOptOut">
<a href="javascript:gaOptout();">[{oxmultilang ident="D3_GOOGLEANALYTICS_OPTOUT"}]</a>
[{assign var='sGaId' value=$oD3GASettings->getValue('sD3GAId')}]
[{oxscript add="
var gaProperty = '`$sGaId`';
var disableStr = 'ga-disable-' + gaProperty;
if (document.cookie.indexOf(disableStr + '=true') > -1) {
window[disableStr] = true;
}
function gaOptout() {
document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
window[disableStr] = true;
$('#d3GAOptOut').remove();
}
if (window[disableStr]) {
$('#d3GAOptOut').remove();
}"}]
</div>
[{/if}]

View File

@ -1,222 +0,0 @@
[{if $blD3GoogleAnalyticsActive && $oD3GASettings->getValue('sD3GAId')}]
[{if $oViewConf->getActiveClassName() == 'thankyou'}]
[{assign var="order" value=$oView->getOrder()}]
[{assign var="oPayment" value=$order->getPayment()}]
[{assign var="oDelSet" value=$order->getDelSet()}]
[{assign var="aVoucherSerieList" value=$order->d3getVoucherSerieList()}]
[{assign var="oUser" value=$oView->getUser()}]
[{/if}]
[{capture name="d3GATrackCode"}]
[{strip}]
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '[{$oD3GASettings->getValue('sD3GAId')}]']);
[{if $oD3GASettings->getValue('blD3GAAnonymizeIP')}]
_gaq.push(['_gat._anonymizeIp']);
[{/if}]
[{if $oD3GASettings->getValue('sD3GASetDomainName')}]
_gaq.push(['_setDomainName', '[{$oD3GASettings->getValue('sD3GASetDomainName')}]']);
_gaq.push(['_setAllowHash', false]);
[{else}]
_gaq.push(['_setDomainName', 'none']);
[{/if}]
[{if $oD3GASettings->getValue('sD3GASetCookiePath')}]
_gaq.push(['_setCookiePath', '[{$oD3GASettings->getValue('sD3GASetCookiePath')}]']);
[{/if}]
[{if $oD3GASettings->getValue('iD3GASiteSpeedSampleRate')}]
_gaq.push(['_setSiteSpeedSampleRate', '[{$oD3GASettings->getValue('iD3GASiteSpeedSampleRate')}]']);
[{/if}]
[{if $oD3GASettings->getValue('iD3GASampleRate')}]
_gaq.push(['_setSampleRate', '[{$oD3GASettings->getValue('iD3GASampleRate')}]']);
[{/if}]
[{if $oD3GASettings->getValue('blD3GAAllowDomainLinker')}]
_gaq.push(['_setAllowLinker', true]);
[{/if}]
[{if $oD3GASettings->getValue('blD3GASetClientInfo')}]
_gaq.push(['_setClientInfo', false]);
[{else}]
_gaq.push(['_setClientInfo', true]);
[{/if}]
[{if $oD3GASettings->getValue('blD3GASetDetectFlash')}]
_gaq.push(['_setDetectFlash', false]);
[{else}]
_gaq.push(['_setDetectFlash', true]);
[{/if}]
[{if $oD3GASettings->getValue('blD3GASetDetectTitle')}]
_gaq.push(['_setDetectTitle', false]);
[{else}]
_gaq.push(['_setDetectTitle', true]);
[{/if}]
[{if !$oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack')}]
_gaq.push(['_setCampaignTrack', true]);
[{else}]
_gaq.push(['_setCampaignTrack', false]);
[{/if}]
[{if !$oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack') && $oD3GASettings->getValue('sD3GASetCampaignCookieTimeout')}]
_gaq.push(['_setCampaignCookieTimeout', '[{$oD3GASettings->getValue('sD3GASetCampaignCookieTimeout')}]']);
[{/if}]
[{if !$oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack') && $oD3GASettings->getValue('sD3GASetCampNameKey')}]
_gaq.push(['_setCampNameKey', '[{$oD3GASettings->getValue('sD3GASetCampNameKey')}]']);
[{/if}]
[{if !$oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack') && $oD3GASettings->getValue('sD3GASetCampMediumKey')}]
_gaq.push(['_setCampMediumKey', '[{$oD3GASettings->getValue('sD3GASetCampMediumKey')}]']);
[{/if}]
[{if !$oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack') && $oD3GASettings->getValue('sD3GASetCampSourceKey')}]
_gaq.push(['_setCampSourceKey', '[{$oD3GASettings->getValue('sD3GASetCampSourceKey')}]']);
[{/if}]
[{if !$oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack') && $oD3GASettings->getValue('sD3GASetCampTermKey')}]
_gaq.push(['_setCampTermKey', '[{$oD3GASettings->getValue('sD3GASetCampTermKey')}]']);
[{/if}]
[{if !$oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack') && $oD3GASettings->getValue('sD3GASetCampContentKey')}]
_gaq.push(['_setCampContentKey', '[{$oD3GASettings->getValue('sD3GASetCampContentKey')}]']);
[{/if}]
[{if !$oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack') && $oD3GASettings->getValue('sD3GASetCampContentKey')}]
_gaq.push(['_setCampNOKey', 'ga_nooverride']);
[{/if}]
[{if $oD3GASettings->getValue('blD3GAUseCustomVars')}]
[{**** add custom variables here ****}]
[{if $oxcmp_user}]
_gaq.push(['_setCustomVar',
1, [{*// This custom var is set to slot #1. Required parameter.*}]
'Geschlecht', [{*// The name of the custom variable. Required parameter.*}]
[{if $oxcmp_user->oxuser__oxsal->value == 'MR'}]'male'[{elseif $oxcmp_user->oxuser__oxsal->value == 'MRS'}]'female'[{/if}],
[{*// The value of the custom variable. Required parameter.*}]
1 [{*// Sets the scope to visitor-level. Optional parameter.*}]
]);
[{/if}]
[{if $oViewConf->getActiveClassName() == 'thankyou' && $oPayment}]
_gaq.push(['_setCustomVar',2,'Zahlungsart', '[{$oPayment->getFieldData('oxdesc')}]' , 3]);
[{/if}]
[{if $oViewConf->getActiveClassName() == 'thankyou' && $oDelSet}]
_gaq.push(['_setCustomVar',3,'Versandart', '[{$oDelSet->getFieldData('oxtitle')}]' , 3]);
[{/if}]
[{if $oViewConf->getActiveClassName() == 'thankyou' && $aVoucherSerieList}]
[{foreach from=$aVoucherSerieList item="oVoucherSerie"}]
_gaq.push(['_setCustomVar',4,'Gutschein', '[{$oVoucherSerie->getFieldData('oxserienr')}]', 3]);
[{/foreach}]
[{/if}]
[{if $oViewConf->getActiveClassName() == 'thankyou' && $order}]
_gaq.push(['_setCustomVar',5,'Waehrung', '[{$order->getFieldData('oxcurrency')}]' , 3]);
[{/if}]
[{if $oViewConf->getActiveClassName() == 'thankyou'}]
_gaq.push(['_setCustomVar',5,'Neukunde', '[{$oView->isNewCustomer()}]',3]);
[{/if}]
[{/if}]
_gaq.push(['_trackPageview' [{$sD3GASendPageViewParameter}]]);
[{if $oD3GASettings->getValue('blD3GATrackPageLoadTime')}]
_gaq.push(['_trackPageLoadTime']);
[{/if}]
[{if $oD3GASettings->getValue('sD3GACookiePathCopy')}]
_gaq.push(['_cookiePathCopy', '[{$oD3GASettings->getValue('sD3GACookiePathCopy')}]']);
[{/if}]
[{if $oD3GASettings->getValue('blD3GASendECommerce') && $oViewConf->getActiveClassName() == 'thankyou'}]
[{assign var="currate" value=$order->oxorder__oxcurrate->value}]
_gaq.push(['_addTrans',
'[{$order->oxorder__oxordernr->value}]', [{* // order ID - required *}]
'[{$oxcmp_shop->oxshops__oxname->value|escape:"quotes"}]', [{* // affiliation or store name *}]
[{if $oD3GASettings->getValue('blD3GAUseNetto')}]
'[{math equation="s / r" s=$order->getOrderNetSum() r=$currate format="%.2f"}]', [{* // total - required - has to be gross sum *}]
[{else}]
'[{math equation="s / r" s=$order->getTotalOrderSum() r=$currate format="%.2f"}]', [{* // total - required *}]
[{/if}]
'[{math equation="s - r" s=$order->getTotalOrderSum() r=$order->getOrderNetSum() format="%.2f"}]', [{* // tax *}]
'[{math equation="s / r" s=$order->oxorder__oxdelcost->value r=$currate format="%.2f"}]', [{* // shipping *}]
'[{$order->oxorder__oxbillcity->value|escape:"quotes"}]', [{* // city *}]
'[{$order->oxorder__oxbillstate->value|escape:"quotes"}]', [{* // state or province *}]
'[{$order->oxorder__oxbillcountry->value|escape:"quotes"}]' [{* // country *}]
]);
[{foreach from=$order->getOrderArticles() item=oOrderArticle}]
_gaq.push(['_addItem',
'[{$order->oxorder__oxordernr->value}]', [{* // order ID - required *}]
'[{$oOrderArticle->oxorderarticles__oxartnum->value|escape:"quotes"}]', [{* // SKU/code *}]
'[{$oOrderArticle->oxorderarticles__oxtitle->value|escape:"quotes"}]', [{* // product name *}]
'[{$oOrderArticle->oxorderarticles__d3_galocator->value|escape:"quotes"}]', [{* // category or variation *}]
[{*'[{$oOrderArticle->oxorderarticles__oxselvariant->value}]', [{* // category or variation *}]
[{if $oD3GASettings->getValue('blD3GAUseNetto')}]
[{assign var="oPrice" value=$oOrderArticle->getPrice()}]
'[{math equation="s / r" s=$oPrice->getNettoPrice() r=$currate format="%.2f"}]', [{* // unit price - required *}]
[{else}]
'[{$oOrderArticle->oxorderarticles__oxprice->value}]', [{* // unit price - required - is not currency depended *}]
[{/if}]
'[{$oOrderArticle->oxorderarticles__oxamount->value}]' [{* // quantity - required *}]
]);
[{/foreach}]
_gaq.push(['_trackTrans']);
[{/if}]
[{* bounce optimization*}]
[{block name="d3ga_bounceoptimization"}]
[{if $oD3GASettings->getValue('blUseBounceRateOptimization')}]
setTimeout('_gaq.push([\'_trackEvent\', \'NoBounce\', \'Over defined seconds\'])',[{$iD3GASendNoBounceEventTime}]);
[{if $oD3GASettings->getValue('blSendNoBounceEventScroll')}]
window.addEventListener ?
window.addEventListener('scroll', testScroll, false) :
window.attachEvent('onscroll', testScroll);
var scrollCount = 0;
function testScroll() {
++scrollCount;
if (scrollCount == 2) {
_gaq.push(['_trackEvent', 'window', 'scrolled']);
}
}
[{/if}]
[{/if}]
[{/block}]
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
[{if $oD3GASettings->getValue('blD3GAUseRemarketing')}]
ga.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'stats.g.doubleclick.net/dc.js';
[{else}]
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
[{/if}]
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
[{if (false == $oD3GASettings->getValue('blD3GASetCampaignOnThankyouOnly') || $oViewConf->getActiveClassName() == 'thankyou') &&
$oD3GASettings->getValue('blD3GASetCampaignTrack') && $oD3GASettings->getValue('sD3GACampaignCode')}]
[{$oD3GASettings->getValue('sD3GACampaignCode')}]
[{/if}]
[{/strip}]
[{/capture}]
[{if $oViewConf->getActiveClassName() == 'thankyou'}]
[{$oView->logCode($smarty.capture.d3GATrackCode)}]
[{/if}]
[{$smarty.capture.d3GATrackCode}]
[{/if}]

View File

@ -1,35 +0,0 @@
[{strip}]
[{if false == $oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack')}]
[{if false == $oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack')
&& $oD3GASettings->getValue('sD3GASetCampNameKey')}]
ga('set', 'campaignName', '[{$oD3GASettings->getValue('sD3GASetCampNameKey')}]');
[{/if}]
[{if false == $oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack')
&& $oD3GASettings->getValue('sD3GASetCampMediumKey')}]
ga('set', 'campaignMedium', '[{$oD3GASettings->getValue('sD3GASetCampMediumKey')}]');
[{/if}]
[{if false == $oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack')
&& $oD3GASettings->getValue('sD3GASetCampSourceKey')}]
ga('set', 'campaignSource', '[{$oD3GASettings->getValue('sD3GASetCampSourceKey')}]');
[{/if}]
[{if false == $oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack')
&& $oD3GASettings->getValue('sD3GASetCampTermKey')}]
ga('set', 'campaignKeyword', '[{$oD3GASettings->getValue('sD3GASetCampTermKey')}]');
[{/if}]
[{if false == $oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack')
&& $oD3GASettings->getValue('sD3GASetCampContentKey')}]
ga('set', 'campaignContent', '[{$oD3GASettings->getValue('sD3GASetCampContentKey')}]');
[{/if}]
[{if false == $oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack')
&& $oD3GASettings->getValue('sD3GASetCampIdKey')}]
ga('set', 'campaignId', '[{$oD3GASettings->getValue('sD3GASetCampIdKey')}]');
[{/if}]
[{else}]
ga('set', 'campaignTrack', false);
[{/if}]
[{/strip}]

View File

@ -1,42 +0,0 @@
[{strip}][{if $oD3GASettings->getValue('blD3GASetConversionTracking') &&
$oD3GASettings->getValue('sD3GAAdWordConversionId') && $oViewConf->getActiveClassName() == 'thankyou'}]
[{capture name="d3AdWordsCode"}]
[{assign var="order" value=$oView->getOrder()}]
[{assign var="currate" value=$order->oxorder__oxcurrate->value}]
[{if $oD3GASettings->getValue('blD3GAUseNetto')}]
[{math equation="s / r" s=$order->getOrderNetSum() r=$currate assign="sTotal"}] [{* // total - required - has to be gross sum *}]
[{else}]
[{math equation="s / r" s=$order->getTotalOrderSum() r=$currate assign="sTotal"}] [{* // total - required *}]
[{/if}]
<!-- Google Code for Conversion Page -->
<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = [{$oD3GASettings->getValue('sD3GAAdWordConversionId')}];
var google_conversion_language = "de";
var google_conversion_format = "3";
var google_conversion_color = "ffffff";
var google_conversion_label = "[{$oD3GASettings->getValue('sD3GAAdWordConversionLabel')}]";
var google_conversion_value = [{$sTotal}];
var google_remarketing_only = false;
/* ]]> */
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="//www.googleadservices.com/pagead/conversion/[{$oD3GASettings->getValue('sD3GAAdWordConversionId')}]/?value=[{$sTotal}]&amp;label=[{$oD3GASettings->getValue('sD3GAAdWordConversionLabel')}]&amp;guid=ON&amp;script=0"/>
</div>
</noscript>
[{/capture}]
[{$oView->logCode($smarty.capture.d3AdWordsCode)}]
[{$smarty.capture.d3AdWordsCode}]
[{/if}]
[{/strip}]

View File

@ -1,65 +0,0 @@
[{if $oD3GASettings->getValue('blD3GAUseCustomVars')}]
[{strip}]
[{if $oViewConf->getActiveClassName() == 'thankyou'}]
[{assign var="order" value=$oView->getOrder()}]
[{assign var="oPayment" value=$order->getPayment()}]
[{assign var="oDelSet" value=$order->getDelSet()}]
[{assign var="aVoucherSerieList" value=$order->d3getVoucherSerieList()}]
[{/if}]
[{* dimension 1 set customer gender *}]
[{if $oxcmp_user}]
ga(
'set',
'dimension1',
'[{if $oxcmp_user->oxuser__oxsal->value == 'MR'}]male[{elseif $oxcmp_user->oxuser__oxsal->value == 'MRS'}]female[{/if}]'
);
[{/if}]
[{* dimension 2 set payment type *}]
[{if $oViewConf->getActiveClassName() == 'thankyou' && $oPayment}]
ga(
'set',
'dimension2',
'[{$oPayment->getFieldData('oxdesc')}]'
);
[{/if}]
[{* dimension 3 set delivery type *}]
[{if $oViewConf->getActiveClassName() == 'thankyou' && $oDelSet}]
ga(
'set',
'dimension3',
'[{$oDelSet->getFieldData('oxtitle')}]'
);
[{/if}]
[{* dimension 4 set vouchers *}]
[{if $oViewConf->getActiveClassName() == 'thankyou' && $aVoucherSerieList}]
ga(
'set', {
[{foreach from=$aVoucherSerieList item="oVoucherSerie"}]
'dimension4' : '[{$oVoucherSerie->getFieldData('oxserienr')}]',
[{/foreach}]
}
);
[{/if}]
[{* dimension 5 set currency *}]
[{if $oViewConf->getActiveClassName() == 'thankyou' && $order}]
ga(
'set',
'dimension5',
'[{$order->getFieldData('oxcurrency')}]'
);
[{/if}]
[{* dimension 6 set new customer status *}]
[{if $oViewConf->getActiveClassName() == 'thankyou'}]
ga(
'set',
'dimension6',
'[{$oView->isNewCustomer()}]'
);
[{/if}]
[{/strip}][{/if}]

View File

@ -1,44 +0,0 @@
[{if $oD3GASettings->getValue('blD3GASendECommerce') && $oViewConf->getActiveClassName() == 'thankyou'}][{strip}]
[{assign var="order" value=$oView->getOrder()}]
ga('require', 'ecommerce');
[{assign var="currate" value=$order->oxorder__oxcurrate->value}]
[{if $oD3GASettings->getValue('blD3GAUseNetto')}]
[{math equation="s / r" s=$order->getOrderNetSum() r=$currate format="%.2f" assign="sTotal"}] [{* // total - required - has to be gross sum *}]
[{else}]
[{math equation="s / r" s=$order->getTotalOrderSum() r=$currate format="%.2f" assign="sTotal"}] [{* // total - required *}]
[{/if}]
[{math equation="s - r" s=$order->getTotalOrderSum() r=$order->getOrderNetSum() format="%.2f" assign="sTax"}]
[{math equation="s / r" s=$order->oxorder__oxdelcost->value r=$currate format="%.2f" assign="sShipping"}]
ga('ecommerce:addTransaction', {
'id': '[{$order->oxorder__oxordernr->value}]', [{* Transaction ID. Required *}]
'affiliation': '[{$oxcmp_shop->oxshops__oxname->value|escape:"quotes"}]', [{* Affiliation or store name *}]
'revenue': '[{$sTotal}]', [{* Gesamtwert *}]
'shipping': '[{$sShipping}]', [{* Versand *}]
'tax': '[{$sTax}]' [{* Steuer *}]
});
[{foreach from=$order->getOrderArticles() item=oOrderArticle}]
[{if $oD3GASettings->getValue('blD3GAUseNetto')}]
[{assign var="oPrice" value=$oOrderArticle->getPrice()}]
[{math equation="s / r" s=$oPrice->getNettoPrice() r=$currate format="%.2f" assign="sPrice"}]
[{else}]
[{assign var="sPrice" value=$oOrderArticle->oxorderarticles__oxprice->value}]
[{/if}]
ga('ecommerce:addItem', {
'id': '[{$order->oxorder__oxordernr->value}]', [{* Transaktions-ID *}]
'name': '[{$oOrderArticle->oxorderarticles__oxtitle->value|escape:"quotes"}]', [{* Produktname *}]
'sku': '[{$oOrderArticle->oxorderarticles__oxartnum->value|escape:"quotes"}]', [{* SKU/Code *}]
'category': '[{$oOrderArticle->oxorderarticles__d3_galocator->value|escape:"quotes"}]', [{* Kategorie oder Ausführung *}]
[{*'category': '[{$oOrderArticle->oxorderarticles__oxselvariant->value}]', [{* Kategorie oder Ausführung *}]
'price': '[{$sPrice}]', [{* Preis pro Einheit *}]
'quantity': '[{$oOrderArticle->oxorderarticles__oxamount->value}]' [{* Menge *}]
});
[{/foreach}]
ga('ecommerce:send');
[{/strip}][{/if}]

View File

@ -1,35 +0,0 @@
[{if $oD3GASettings->getValue('blD3GASetRemarketing') &&
$oD3GASettings->getValue('sD3GARemarketingConversionId')}]
[{*-- Google Code für ein Remarketing-Tag --
--------------------------------------------------
Remarketing-Tags dürfen nicht mit personenbezogenen Daten verknüpft oder auf Seiten platziert werden,
die sensiblen Kategorien angehören. Weitere Informationen und Anleitungen zur Einrichtung des Tags
erhalten Sie unter: http://google.com/ads/remarketingsetup
---------------------------------------------------*}]
<script type="text/javascript">
var google_tag_params = {
ecomm_prodid: [{$sD3GARemarketingProdId}],
ecomm_pagetype: '[{$sD3GARemarketingPageType}]',
ecomm_totalvalue: '[{$sD3GARemarketingPrice}]'
};
</script>
<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = [{$oD3GASettings->getValue('sD3GARemarketingConversionId')}];
[{if $oD3GASettings->getValue('sD3GARemarketingConversionLabel')}]
var google_conversion_label = "[{$oD3GASettings->getValue('sD3GARemarketingConversionLabel')}]";
[{/if}]
var google_custom_params = window.google_tag_params;
var google_remarketing_only = true;
/* ]]> */
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/[{$oD3GASettings->getValue('sD3GARemarketingConversionId')}]/?value=0[{if $oD3GASettings->getValue('sD3GARemarketingConversionLabel')}]&amp;label=[{$oD3GASettings->getValue('sD3GARemarketingConversionLabel')}][{/if}]&amp;guid=ON&amp;script=0"/>
</div>
</noscript>
[{/if}]

View File

@ -1,84 +0,0 @@
[{* https://support.google.com/trustedstoresmerchant/answer/6063080?hl=de&ref_topic=6063044 *}]
<!-- BEGIN: Google Certified Shops -->
<script type="text/javascript">
var gts = gts || [];
[{if $oD3GASettings->getValue('sD3GATSShoppingActive')}]
gts.push(["id", "[{$oD3GASettings->getValue('sD3GATSId')}]"]);
gts.push(["badge_position", "BOTTOM_RIGHT"]);
gts.push(["locale", "[{$sD3CurrentGTSLang}]"]);
[{if $sD3GATSProdId}]
gts.push(["google_base_offer_id", "[{$sD3GATSProdId}]"]);
[{/if}]
gts.push(["google_base_subaccount_id", "[{$oD3GASettings->getValue('sD3GATSShoppingAccountId')}]"]);
gts.push(["google_base_country", "[{$oD3GASettings->getValue('sD3GATSShoppingCountry')|upper}]"]);
gts.push(["google_base_language", "[{$oD3GASettings->getValue('sD3GATSShoppingLanguage')|lower}]"]);
[{/if}]
(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 Certified Shops -->
[{if $oViewConf->getActiveClassName() == 'thankyou'}]
[{* https://support.google.com/trustedstoresmerchant/answer/6063087?hl=de&ref_topic=6063044 *}]
[{assign var="oOrder" value=$oView->getOrder()}]
[{assign var="oOrderCurrency" value=$oOrder->getOrderCurrency()}]
[{assign var="oUser" value=$oOrder->getOrderUser()}]
[{assign var="oUserCountry" value=$oView->d3GAGetUserCountry()}]
[{if $oD3GASettings->getValue('blD3GAUseNetto')}]
[{assign var="sTotal" value=$oOrder->getOrderNetSum()}] [{* // total - required - has to be gross sum *}]
[{else}]
[{assign var="sTotal" value=$oOrder->getTotalOrderSum()}] [{* // total - required *}]
[{/if}]
<!-- START Google Trusted Stores Order -->
<div id="gts-order" style="display:none;" translate="no">
<!-- start order and merchant information -->
<span id="gts-o-id">[{$oOrder->getFieldData('oxordernr')}]</span>
<span id="gts-o-domain">[{$oxcmp_shop->oxshops__oxurl->value}]</span>
<span id="gts-o-email">[{$oUser->getFieldData('oxusername')}]</span>
<span id="gts-o-country">[{$oUserCountry->getFieldData('oxisoalpha2')}]</span>
<span id="gts-o-currency">[{$oOrderCurrency->name}]</span>
<span id="gts-o-total">[{$sTotal|string_format:"%.2f"}]</span>
<span id="gts-o-discounts">-[{$oOrder->getFieldData('oxdiscount')|string_format:"%.2f"}]</span>
<span id="gts-o-shipping-total">[{$oOrder->getFieldData('oxdelcost')|string_format:"%.2f"}]</span>
<span id="gts-o-tax-total">[{$oOrder->d3GetTaxTotal()}]</span>
<span id="gts-o-est-delivery-date">[{$oView->d3GAgetEstimatedDeliveryDate()|date_format:"%Y-%m-%d"}]</span>
<span id="gts-o-est-ship-date">[{$oView->d3GAgetEstimatedShippingDate()|date_format:"%Y-%m-%d"}]</span>
<span id="gts-o-has-preorder">[{$oView->d3GAhasBackorderPreorder()}]</span>
<span id="gts-o-has-digital">[{$oView->d3GAhasDigitalGoods()}]</span>
<!-- end order and merchant information -->
<!-- start repeated item specific information -->
[{foreach from=$order->getOrderArticles() item=oOrderArticle}]
[{if $oD3GASettings->getValue('blD3GAUseNetto')}]
[{assign var="oPrice" value=$oOrderArticle->getPrice()}]
[{assign var="sPrice" value=$oPrice->getNettoPrice()}]
[{else}]
[{assign var="sPrice" value=$oOrderArticle->oxorderarticles__oxprice->value}]
[{/if}]
<span class="gts-item">
<span class="gts-i-name">[{$oOrderArticle->oxorderarticles__oxtitle->value|escape:"quotes"}]</span>
<span class="gts-i-price">[{$sPrice|string_format:"%.2f"}]</span>
<span class="gts-i-quantity">[{$oOrderArticle->getFieldData('oxamount')}]</span>
[{if $oD3GASettings->getValue('sD3GATSShoppingActive')}]
<span class="gts-i-prodsearch-id">[{$oView->d3GAgetProductId($oOrderArticle)}]</span>
<span class="gts-i-prodsearch-store-id">[{$oD3GASettings->getValue('sD3GATSShoppingAccountId')}]</span>
<span class="gts-i-prodsearch-country">[{$oD3GASettings->getValue('sD3GATSShoppingCountry')|upper}]</span>
<span class="gts-i-prodsearch-language">[{$oD3GASettings->getValue('sD3GATSShoppingLanguage')|lower}]</span>
[{/if}]
</span>
[{/foreach}]
<!-- end repeated item specific informations -->
</div>
<!-- END Google Trusted Stores Order -->
[{/if}]

View File

@ -0,0 +1,30 @@
[{$smarty.block.parent}]
[{d3modcfgcheck modid="d3_googleanalytics"}]
[{/d3modcfgcheck}]
[{if $mod_d3_googleanalytics}]
[{* Content shouldn't rendered in disabled module!
Because of this reason, it can't included in d3modcfgcheck block. *}]
[{block name="BaseAdwords"}]
[{if $oD3GASettings->getValue('sD3GATSActive') && $oD3GASettings->getValue('sD3GATSId')}]
[{capture name="d3GATrustedStoreCode"}]
[{strip}]
[{include file="d3ga_universal_trustedstore.tpl"}]
[{/strip}]
[{/capture}]
[{if $oViewConf->getActiveClassName() == 'thankyou'}]
[{$oView->logCode($smarty.capture.d3GATrustedStoreCode)}]
[{/if}]
[{$smarty.capture.d3GATrustedStoreCode}]
[{/if}]
[{include file="d3ga_universal_adwordscode.tpl"}]
[{include file="d3ga_universal_remarketing.tpl"}]
[{include file="d3ga_universal_campaigncode.tpl"}]
[{/block}]
[{/if}]

View File

@ -0,0 +1,13 @@
[{$smarty.block.parent}]
[{d3modcfgcheck modid="d3_googleanalytics"}][{/d3modcfgcheck}]
[{if $mod_d3_googleanalytics}]
[{block name="BaseAnalytics"}]
[{include file=$sD3GATTpl}]
[{oxstyle include=$oViewConf->getModuleUrl('d3_googleanalytics', 'out/src/d3_googleanalytics.css')}]
[{if $blD3GAIsMobile}]
[{oxstyle include=$oViewConf->getModuleUrl('d3_googleanalytics', 'out/src/d3_googleanalytics_mobile.css')}]
[{/if}]
[{/block}]
[{/if}]

View File

@ -0,0 +1,30 @@
[{$smarty.block.parent}]
[{d3modcfgcheck modid="d3_googleanalytics"}]
[{/d3modcfgcheck}]
[{if $mod_d3_googleanalytics && $oD3GASettings->getValue('blD3GAUseOptOut')}]
[{block name="BaseOptout"}]
<div id="d3GAOptOut">
<a href="javascript:gaOptout();">[{oxmultilang ident="D3_GOOGLEANALYTICS_OPTOUT"}]</a>
[{assign var='sGaId' value=$oD3GASettings->getValue('sD3GAId')}]
[{oxscript add="
var gaProperty = '`$sGaId`';
var disableStr = 'ga-disable-' + gaProperty;
if (document.cookie.indexOf(disableStr + '=true') > -1) {
window[disableStr] = true;
}
function gaOptout() {
document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
window[disableStr] = true;
$('#d3GAOptOut').remove();
}
if (window[disableStr]) {
$('#d3GAOptOut').remove();
}"}]
</div>
[{/block}]
[{/if}]

View File

@ -0,0 +1,224 @@
[{if $blD3GoogleAnalyticsActive && $oD3GASettings->getValue('sD3GAId')}]
[{if $oViewConf->getActiveClassName() == 'thankyou'}]
[{assign var="order" value=$oView->getOrder()}]
[{assign var="oPayment" value=$order->getPayment()}]
[{assign var="oDelSet" value=$order->getDelSet()}]
[{assign var="aVoucherSerieList" value=$order->d3getVoucherSerieList()}]
[{assign var="oUser" value=$oView->getUser()}]
[{/if}]
[{block name="AsyncAnalytics"}]
[{capture name="d3GATrackCode"}]
[{strip}]
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '[{$oD3GASettings->getValue('sD3GAId')}]']);
[{if $oD3GASettings->getValue('blD3GAAnonymizeIP')}]
_gaq.push(['_gat._anonymizeIp']);
[{/if}]
[{if $oD3GASettings->getValue('sD3GASetDomainName')}]
_gaq.push(['_setDomainName', '[{$oD3GASettings->getValue('sD3GASetDomainName')}]']);
_gaq.push(['_setAllowHash', false]);
[{else}]
_gaq.push(['_setDomainName', 'none']);
[{/if}]
[{if $oD3GASettings->getValue('sD3GASetCookiePath')}]
_gaq.push(['_setCookiePath', '[{$oD3GASettings->getValue('sD3GASetCookiePath')}]']);
[{/if}]
[{if $oD3GASettings->getValue('iD3GASiteSpeedSampleRate')}]
_gaq.push(['_setSiteSpeedSampleRate', [{$oD3GASettings->getValue('iD3GASiteSpeedSampleRate')}]]);
[{/if}]
[{if $oD3GASettings->getValue('iD3GASampleRate')}]
_gaq.push(['_setSampleRate', '[{$oD3GASettings->getValue('iD3GASampleRate')}]']);
[{/if}]
[{if $oD3GASettings->getValue('blD3GAAllowDomainLinker')}]
_gaq.push(['_setAllowLinker', true]);
[{/if}]
[{if $oD3GASettings->getValue('blD3GASetClientInfo')}]
_gaq.push(['_setClientInfo', false]);
[{else}]
_gaq.push(['_setClientInfo', true]);
[{/if}]
[{if $oD3GASettings->getValue('blD3GASetDetectFlash')}]
_gaq.push(['_setDetectFlash', false]);
[{else}]
_gaq.push(['_setDetectFlash', true]);
[{/if}]
[{if $oD3GASettings->getValue('blD3GASetDetectTitle')}]
_gaq.push(['_setDetectTitle', false]);
[{else}]
_gaq.push(['_setDetectTitle', true]);
[{/if}]
[{if !$oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack')}]
_gaq.push(['_setCampaignTrack', true]);
[{else}]
_gaq.push(['_setCampaignTrack', false]);
[{/if}]
[{if !$oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack') && $oD3GASettings->getValue('sD3GASetCampaignCookieTimeout')}]
_gaq.push(['_setCampaignCookieTimeout', '[{$oD3GASettings->getValue('sD3GASetCampaignCookieTimeout')}]']);
[{/if}]
[{if !$oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack') && $oD3GASettings->getValue('sD3GASetCampNameKey')}]
_gaq.push(['_setCampNameKey', '[{$oD3GASettings->getValue('sD3GASetCampNameKey')}]']);
[{/if}]
[{if !$oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack') && $oD3GASettings->getValue('sD3GASetCampMediumKey')}]
_gaq.push(['_setCampMediumKey', '[{$oD3GASettings->getValue('sD3GASetCampMediumKey')}]']);
[{/if}]
[{if !$oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack') && $oD3GASettings->getValue('sD3GASetCampSourceKey')}]
_gaq.push(['_setCampSourceKey', '[{$oD3GASettings->getValue('sD3GASetCampSourceKey')}]']);
[{/if}]
[{if !$oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack') && $oD3GASettings->getValue('sD3GASetCampTermKey')}]
_gaq.push(['_setCampTermKey', '[{$oD3GASettings->getValue('sD3GASetCampTermKey')}]']);
[{/if}]
[{if !$oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack') && $oD3GASettings->getValue('sD3GASetCampContentKey')}]
_gaq.push(['_setCampContentKey', '[{$oD3GASettings->getValue('sD3GASetCampContentKey')}]']);
[{/if}]
[{if !$oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack') && $oD3GASettings->getValue('sD3GASetCampContentKey')}]
_gaq.push(['_setCampNOKey', 'ga_nooverride']);
[{/if}]
[{if $oD3GASettings->getValue('blD3GAUseCustomVars')}]
[{**** add custom variables here ****}]
[{if $oxcmp_user}]
_gaq.push(['_setCustomVar',
1, [{*// This custom var is set to slot #1. Required parameter.*}]
'Geschlecht', [{*// The name of the custom variable. Required parameter.*}]
[{if $oxcmp_user->oxuser__oxsal->value == 'MR'}]'male'[{elseif $oxcmp_user->oxuser__oxsal->value == 'MRS'}]'female'[{/if}],
[{*// The value of the custom variable. Required parameter.*}]
1 [{*// Sets the scope to visitor-level. Optional parameter.*}]
]);
[{/if}]
[{if $oViewConf->getActiveClassName() == 'thankyou' && $oPayment}]
_gaq.push(['_setCustomVar',2,'Zahlungsart', '[{$oPayment->getFieldData('oxdesc')}]' , 3]);
[{/if}]
[{if $oViewConf->getActiveClassName() == 'thankyou' && $oDelSet}]
_gaq.push(['_setCustomVar',3,'Versandart', '[{$oDelSet->getFieldData('oxtitle')}]' , 3]);
[{/if}]
[{if $oViewConf->getActiveClassName() == 'thankyou' && $aVoucherSerieList}]
[{foreach from=$aVoucherSerieList item="oVoucherSerie"}]
_gaq.push(['_setCustomVar',4,'Gutschein', '[{$oVoucherSerie->getFieldData('oxserienr')}]', 3]);
[{/foreach}]
[{/if}]
[{if $oViewConf->getActiveClassName() == 'thankyou' && $order}]
_gaq.push(['_setCustomVar',5,'Waehrung', '[{$order->getFieldData('oxcurrency')}]' , 3]);
[{/if}]
[{if $oViewConf->getActiveClassName() == 'thankyou'}]
_gaq.push(['_setCustomVar',5,'Neukunde', '[{$oView->isNewCustomer()}]',3]);
[{/if}]
[{/if}]
_gaq.push(['_trackPageview' [{$sD3GASendPageViewParameter}]]);
[{if $oD3GASettings->getValue('blD3GATrackPageLoadTime')}]
_gaq.push(['_trackPageLoadTime']);
[{/if}]
[{if $oD3GASettings->getValue('sD3GACookiePathCopy')}]
_gaq.push(['_cookiePathCopy', '[{$oD3GASettings->getValue('sD3GACookiePathCopy')}]']);
[{/if}]
[{if $oD3GASettings->getValue('blD3GASendECommerce') && $oViewConf->getActiveClassName() == 'thankyou'}]
[{assign var="currate" value=$order->oxorder__oxcurrate->value}]
_gaq.push(['_addTrans',
'[{$order->oxorder__oxordernr->value}]', [{* // order ID - required *}]
'[{$oxcmp_shop->oxshops__oxname->value|escape:"quotes"}]', [{* // affiliation or store name *}]
[{if $oD3GASettings->getValue('blD3GAUseNetto')}]
'[{math equation="s / r" s=$order->getOrderNetSum() r=$currate format="%.2f"}]', [{* // total - required - has to be gross sum *}]
[{else}]
'[{math equation="s / r" s=$order->getTotalOrderSum() r=$currate format="%.2f"}]', [{* // total - required *}]
[{/if}]
'[{math equation="s - r" s=$order->getTotalOrderSum() r=$order->getOrderNetSum() format="%.2f"}]', [{* // tax *}]
'[{math equation="s / r" s=$order->oxorder__oxdelcost->value r=$currate format="%.2f"}]', [{* // shipping *}]
'[{$order->oxorder__oxbillcity->value|escape:"quotes"}]', [{* // city *}]
'[{$order->oxorder__oxbillstate->value|escape:"quotes"}]', [{* // state or province *}]
'[{$order->oxorder__oxbillcountry->value|escape:"quotes"}]' [{* // country *}]
]);
[{foreach from=$order->getOrderArticles() item=oOrderArticle}]
_gaq.push(['_addItem',
'[{$order->oxorder__oxordernr->value}]', [{* // order ID - required *}]
'[{$oOrderArticle->oxorderarticles__oxartnum->value|escape:"quotes"}]', [{* // SKU/code *}]
'[{$oOrderArticle->oxorderarticles__oxtitle->value|escape:"quotes"}]', [{* // product name *}]
'[{$oOrderArticle->oxorderarticles__d3_galocator->value|escape:"quotes"}]', [{* // category or variation *}]
[{*'[{$oOrderArticle->oxorderarticles__oxselvariant->value}]', [{* // category or variation *}]
[{if $oD3GASettings->getValue('blD3GAUseNetto')}]
[{assign var="oPrice" value=$oOrderArticle->getPrice()}]
'[{math equation="s / r" s=$oPrice->getNettoPrice() r=$currate format="%.2f"}]', [{* // unit price - required *}]
[{else}]
'[{$oOrderArticle->oxorderarticles__oxprice->value}]', [{* // unit price - required - is not currency depended *}]
[{/if}]
'[{$oOrderArticle->oxorderarticles__oxamount->value}]' [{* // quantity - required *}]
]);
[{/foreach}]
_gaq.push(['_trackTrans']);
[{/if}]
[{* bounce optimization*}]
[{block name="d3ga_bounceoptimization"}]
[{if $oD3GASettings->getValue('blUseBounceRateOptimization')}]
setTimeout('_gaq.push([\'_trackEvent\', \'NoBounce\', \'Over defined seconds\'])',[{$iD3GASendNoBounceEventTime}]);
[{if $oD3GASettings->getValue('blSendNoBounceEventScroll')}]
window.addEventListener ?
window.addEventListener('scroll', testScroll, false) :
window.attachEvent('onscroll', testScroll);
var scrollCount = 0;
function testScroll() {
++scrollCount;
if (scrollCount == 2) {
_gaq.push(['_trackEvent', 'window', 'scrolled']);
}
}
[{/if}]
[{/if}]
[{/block}]
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
[{if $oD3GASettings->getValue('blD3GAUseRemarketing')}]
ga.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'stats.g.doubleclick.net/dc.js';
[{else}]
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
[{/if}]
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
[{if (false == $oD3GASettings->getValue('blD3GASetCampaignOnThankyouOnly') || $oViewConf->getActiveClassName() == 'thankyou') &&
$oD3GASettings->getValue('blD3GASetCampaignTrack') && $oD3GASettings->getValue('sD3GACampaignCode')}]
[{$oD3GASettings->getValue('sD3GACampaignCode')}]
[{/if}]
[{/strip}]
[{/capture}]
[{if $oViewConf->getActiveClassName() == 'thankyou'}]
[{$oView->logCode($smarty.capture.d3GATrackCode)}]
[{/if}]
[{$smarty.capture.d3GATrackCode}]
[{/block}]
[{/if}]

View File

@ -0,0 +1,39 @@
[{strip}]
[{if false == $oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack')}]
[{block name="UniversalAdwordsCampaignOn"}]
[{if false == $oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack')
&& $oD3GASettings->getValue('sD3GASetCampNameKey')}]
ga('set', 'campaignName', '[{$oD3GASettings->getValue('sD3GASetCampNameKey')}]');
[{/if}]
[{if false == $oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack')
&& $oD3GASettings->getValue('sD3GASetCampMediumKey')}]
ga('set', 'campaignMedium', '[{$oD3GASettings->getValue('sD3GASetCampMediumKey')}]');
[{/if}]
[{if false == $oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack')
&& $oD3GASettings->getValue('sD3GASetCampSourceKey')}]
ga('set', 'campaignSource', '[{$oD3GASettings->getValue('sD3GASetCampSourceKey')}]');
[{/if}]
[{if false == $oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack')
&& $oD3GASettings->getValue('sD3GASetCampTermKey')}]
ga('set', 'campaignKeyword', '[{$oD3GASettings->getValue('sD3GASetCampTermKey')}]');
[{/if}]
[{if false == $oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack')
&& $oD3GASettings->getValue('sD3GASetCampContentKey')}]
ga('set', 'campaignContent', '[{$oD3GASettings->getValue('sD3GASetCampContentKey')}]');
[{/if}]
[{if false == $oD3GASettings->getValue('blD3GASetAdWordsCampaignTrack')
&& $oD3GASettings->getValue('sD3GASetCampIdKey')}]
ga('set', 'campaignId', '[{$oD3GASettings->getValue('sD3GASetCampIdKey')}]');
[{/if}]
[{/block}]
[{else}]
[{block name="UniversalAdwordsCampaignOff"}]
ga('set', 'campaignTrack', false);
[{/block}]
[{/if}]
[{/strip}]

View File

@ -0,0 +1,44 @@
[{strip}][{if $oD3GASettings->getValue('blD3GASetConversionTracking') &&
$oD3GASettings->getValue('sD3GAAdWordConversionId') && $oViewConf->getActiveClassName() == 'thankyou'}]
[{block name="UniversalAdwordsCode"}]
[{capture name="d3AdWordsCode"}]
[{assign var="order" value=$oView->getOrder()}]
[{assign var="currate" value=$order->oxorder__oxcurrate->value}]
[{if $oD3GASettings->getValue('blD3GAUseNetto')}]
[{math equation="s / r" s=$order->getOrderNetSum() r=$currate assign="sTotal"}] [{* // total - required - has to be gross sum *}]
[{else}]
[{math equation="s / r" s=$order->getTotalOrderSum() r=$currate assign="sTotal"}] [{* // total - required *}]
[{/if}]
<!-- Google Code for Conversion Page -->
<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = [{$oD3GASettings->getValue('sD3GAAdWordConversionId')}];
var google_conversion_language = "de";
var google_conversion_format = "3";
var google_conversion_color = "ffffff";
var google_conversion_label = "[{$oD3GASettings->getValue('sD3GAAdWordConversionLabel')}]";
var google_conversion_value = [{$sTotal}];
var google_remarketing_only = false;
/* ]]> */
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="//www.googleadservices.com/pagead/conversion/[{$oD3GASettings->getValue('sD3GAAdWordConversionId')}]/?value=[{$sTotal}]&amp;label=[{$oD3GASettings->getValue('sD3GAAdWordConversionLabel')}]&amp;guid=ON&amp;script=0"/>
</div>
</noscript>
[{/capture}]
[{$oView->logCode($smarty.capture.d3AdWordsCode)}]
[{$smarty.capture.d3AdWordsCode}]
[{/block}]
[{/if}]
[{/strip}]

View File

@ -0,0 +1,111 @@
[{if $oD3GASettings->getValue('blD3GAUseAnalyticsRemarketing') || $oD3GASettings->getValue('blD3GAUseCustomVars')}]
[{strip}]
[{if $oViewConf->getActiveClassName() == 'thankyou'}]
[{assign var="order" value=$oView->getOrder()}]
[{assign var="oPayment" value=$order->getPayment()}]
[{assign var="oDelSet" value=$order->getDelSet()}]
[{assign var="aVoucherSerieList" value=$order->d3getVoucherSerieList()}]
[{/if}]
[{assign var="iDimensionCount" value=0}]
[{block name="AnalyticsRemarkting"}]
[{if $oD3GASettings->getValue('blD3GAUseAnalyticsRemarketing')}]
[{* dimension 1 set product ids *}]
[{assign var="iDimensionCount" value=$iDimensionCount+1}]
[{if $sD3GARemarketingProdId2}]
ga(
'set',
'dimension[{$iDimensionCount}]',
[{$sD3GARemarketingProdId2}]
);
[{/if}]
[{* dimension 2 set page type *}]
[{assign var="iDimensionCount" value=$iDimensionCount+1}]
[{if $sD3GARemarketingPageType}]
ga(
'set',
'dimension[{$iDimensionCount}]',
'[{$sD3GARemarketingPageType}]'
);
[{/if}]
[{* dimension 3 set product total price *}]
[{assign var="iDimensionCount" value=$iDimensionCount+1}]
[{if $sD3GARemarketingPrice}]
ga(
'set',
'dimension[{$iDimensionCount}]',
'[{$sD3GARemarketingPrice}]'
);
[{/if}]
[{/if}]
[{/block}]
[{block name="CustomVars"}]
[{if $oD3GASettings->getValue('blD3GAUseCustomVars')}]
[{* dimension 1 set customer gender *}]
[{assign var="iDimensionCount" value=$iDimensionCount+1}]
[{if $oxcmp_user}]
ga(
'set',
'dimension[{$iDimensionCount}]',
'[{if $oxcmp_user->oxuser__oxsal->value == 'MR'}]male[{elseif $oxcmp_user->oxuser__oxsal->value == 'MRS'}]female[{/if}]'
);
[{/if}]
[{* dimension 2 set payment type *}]
[{assign var="iDimensionCount" value=$iDimensionCount+1}]
[{if $oViewConf->getActiveClassName() == 'thankyou' && $oPayment}]
ga(
'set',
'dimension[{$iDimensionCount}]',
'[{$oPayment->getFieldData('oxdesc')}]'
);
[{/if}]
[{* dimension 3 set delivery type *}]
[{assign var="iDimensionCount" value=$iDimensionCount+1}]
[{if $oViewConf->getActiveClassName() == 'thankyou' && $oDelSet}]
ga(
'set',
'dimension[{$iDimensionCount}]',
'[{$oDelSet->getFieldData('oxtitle')}]'
);
[{/if}]
[{* dimension 4 set vouchers *}]
[{assign var="iDimensionCount" value=$iDimensionCount+1}]
[{if $oViewConf->getActiveClassName() == 'thankyou' && $aVoucherSerieList}]
ga(
'set', {
[{foreach from=$aVoucherSerieList item="oVoucherSerie"}]
'dimension[{$iDimensionCount}]' : '[{$oVoucherSerie->getFieldData('oxserienr')}]',
[{/foreach}]
}
);
[{/if}]
[{* dimension 5 set currency *}]
[{assign var="iDimensionCount" value=$iDimensionCount+1}]
[{if $oViewConf->getActiveClassName() == 'thankyou' && $order}]
ga(
'set',
'dimension[{$iDimensionCount}]',
'[{$order->getFieldData('oxcurrency')}]'
);
[{/if}]
[{* dimension 6 set new customer status *}]
[{assign var="iDimensionCount" value=$iDimensionCount+1}]
[{if $oViewConf->getActiveClassName() == 'thankyou'}]
ga(
'set',
'dimension[{$iDimensionCount}]',
'[{$oView->isNewCustomer()}]'
);
[{/if}]
[{/if}]
[{/block}]
[{/strip}][{/if}]

View File

@ -0,0 +1,47 @@
[{if $oD3GASettings->getValue('blD3GASendECommerce') && $oViewConf->getActiveClassName() == 'thankyou'}][{strip}]
[{block name="UniversalEcommerceOrder"}]
[{assign var="order" value=$oView->getOrder()}]
ga('require', 'ecommerce');
[{assign var="currate" value=$order->oxorder__oxcurrate->value}]
[{if $oD3GASettings->getValue('blD3GAUseNetto')}]
[{math equation="s / r" s=$order->getOrderNetSum() r=$currate format="%.2f" assign="sTotal"}] [{* // total - required - has to be gross sum *}]
[{else}]
[{math equation="s / r" s=$order->getTotalOrderSum() r=$currate format="%.2f" assign="sTotal"}] [{* // total - required *}]
[{/if}]
[{math equation="s - r" s=$order->getTotalOrderSum() r=$order->getOrderNetSum() format="%.2f" assign="sTax"}]
[{math equation="s / r" s=$order->oxorder__oxdelcost->value r=$currate format="%.2f" assign="sShipping"}]
ga('ecommerce:addTransaction', {
'id': '[{$order->oxorder__oxordernr->value}]', [{* Transaction ID. Required *}]
'affiliation': '[{$oxcmp_shop->oxshops__oxname->value|escape:"quotes"}]', [{* Affiliation or store name *}]
'revenue': '[{$sTotal}]', [{* Gesamtwert *}]
'shipping': '[{$sShipping}]', [{* Versand *}]
'tax': '[{$sTax}]' [{* Steuer *}]
});
[{foreach from=$order->getOrderArticles() item=oOrderArticle}]
[{block name="UniversalEcommerceOrderArticle"}]
[{if $oD3GASettings->getValue('blD3GAUseNetto')}]
[{assign var="oPrice" value=$oOrderArticle->getPrice()}]
[{math equation="s / r" s=$oPrice->getNettoPrice() r=$currate format="%.2f" assign="sPrice"}]
[{else}]
[{assign var="sPrice" value=$oOrderArticle->oxorderarticles__oxprice->value}]
[{/if}]
ga('ecommerce:addItem', {
'id': '[{$order->oxorder__oxordernr->value}]', [{* Transaktions-ID *}]
'name': '[{$oOrderArticle->oxorderarticles__oxtitle->value|escape:"quotes"}]', [{* Produktname *}]
'sku': '[{$oOrderArticle->oxorderarticles__oxartnum->value|escape:"quotes"}]', [{* SKU/Code *}]
'category': '[{$oOrderArticle->oxorderarticles__d3_galocator->value|escape:"quotes"}]', [{* Kategorie oder Ausführung *}]
[{*'category': '[{$oOrderArticle->oxorderarticles__oxselvariant->value}]', [{* Kategorie oder Ausführung *}]
'price': '[{$sPrice}]', [{* Preis pro Einheit *}]
'quantity': '[{$oOrderArticle->oxorderarticles__oxamount->value}]' [{* Menge *}]
});
[{/block}]
[{/foreach}]
ga('ecommerce:send');
[{/block}]
[{/strip}][{/if}]

View File

@ -0,0 +1,37 @@
[{if $oD3GASettings->getValue('blD3GASetRemarketing') &&
$oD3GASettings->getValue('sD3GARemarketingConversionId')}]
[{block name="UniversalAdwordsRemarketing"}]
[{*-- Google Code für ein Remarketing-Tag --
--------------------------------------------------
Remarketing-Tags dürfen nicht mit personenbezogenen Daten verknüpft oder auf Seiten platziert werden,
die sensiblen Kategorien angehören. Weitere Informationen und Anleitungen zur Einrichtung des Tags
erhalten Sie unter: http://google.com/ads/remarketingsetup
---------------------------------------------------*}]
<script type="text/javascript">
var google_tag_params = {
ecomm_prodid: [{$sD3GARemarketingProdId}],
ecomm_pagetype: '[{$sD3GARemarketingPageType}]',
ecomm_totalvalue: '[{$sD3GARemarketingPrice}]'
};
</script>
<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = [{$oD3GASettings->getValue('sD3GARemarketingConversionId')}];
[{if $oD3GASettings->getValue('sD3GARemarketingConversionLabel')}]
var google_conversion_label = "[{$oD3GASettings->getValue('sD3GARemarketingConversionLabel')}]";
[{/if}]
var google_custom_params = window.google_tag_params;
var google_remarketing_only = true;
/* ]]> */
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/[{$oD3GASettings->getValue('sD3GARemarketingConversionId')}]/?value=0[{if $oD3GASettings->getValue('sD3GARemarketingConversionLabel')}]&amp;label=[{$oD3GASettings->getValue('sD3GARemarketingConversionLabel')}][{/if}]&amp;guid=ON&amp;script=0"/>
</div>
</noscript>
[{/block}]
[{/if}]

View File

@ -0,0 +1,87 @@
[{block name="UniversalTrustedStoreBadge"}]
[{* https://support.google.com/trustedstoresmerchant/answer/6063080?hl=de&ref_topic=6063044 *}]
<!-- BEGIN: Google Certified Shops -->
<script type="text/javascript">
var gts = gts || [];
[{if $oD3GASettings->getValue('sD3GATSShoppingActive')}]
gts.push(["id", "[{$oD3GASettings->getValue('sD3GATSId')}]"]);
gts.push(["badge_position", "BOTTOM_RIGHT"]);
gts.push(["locale", "[{$sD3CurrentGTSLang}]"]);
[{if $sD3GATSProdId}]
gts.push(["google_base_offer_id", "[{$sD3GATSProdId}]"]);
[{/if}]
gts.push(["google_base_subaccount_id", "[{$oD3GASettings->getValue('sD3GATSShoppingAccountId')}]"]);
gts.push(["google_base_country", "[{$oD3GASettings->getValue('sD3GATSShoppingCountry')|upper}]"]);
gts.push(["google_base_language", "[{$oD3GASettings->getValue('sD3GATSShoppingLanguage')|lower}]"]);
[{/if}]
(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 Certified Shops -->
[{/block}]
[{if $oViewConf->getActiveClassName() == 'thankyou'}]
[{block name="UniversalTrustedStoreOrderInfo"}]
[{* https://support.google.com/trustedstoresmerchant/answer/6063087?hl=de&ref_topic=6063044 *}]
[{assign var="oOrder" value=$oView->getOrder()}]
[{assign var="oOrderCurrency" value=$oOrder->getOrderCurrency()}]
[{assign var="oUser" value=$oOrder->getOrderUser()}]
[{assign var="oUserCountry" value=$oView->d3GAGetUserCountry()}]
[{if $oD3GASettings->getValue('blD3GAUseNetto')}]
[{assign var="sTotal" value=$oOrder->getOrderNetSum()}] [{* // total - required - has to be gross sum *}]
[{else}]
[{assign var="sTotal" value=$oOrder->getTotalOrderSum()}] [{* // total - required *}]
[{/if}]
<!-- START Google Trusted Stores Order -->
<div id="gts-order" style="display:none;" translate="no">
<!-- start order and merchant information -->
<span id="gts-o-id">[{$oOrder->getFieldData('oxordernr')}]</span>
<span id="gts-o-domain">[{$oxcmp_shop->oxshops__oxurl->value}]</span>
<span id="gts-o-email">[{$oUser->getFieldData('oxusername')}]</span>
<span id="gts-o-country">[{$oUserCountry->getFieldData('oxisoalpha2')}]</span>
<span id="gts-o-currency">[{$oOrderCurrency->name}]</span>
<span id="gts-o-total">[{$sTotal|string_format:"%.2f"}]</span>
<span id="gts-o-discounts">-[{$oOrder->getFieldData('oxdiscount')|string_format:"%.2f"}]</span>
<span id="gts-o-shipping-total">[{$oOrder->getFieldData('oxdelcost')|string_format:"%.2f"}]</span>
<span id="gts-o-tax-total">[{$oOrder->d3GetTaxTotal()}]</span>
<span id="gts-o-est-delivery-date">[{$oView->d3GAgetEstimatedDeliveryDate()|date_format:"%Y-%m-%d"}]</span>
<span id="gts-o-est-ship-date">[{$oView->d3GAgetEstimatedShippingDate()|date_format:"%Y-%m-%d"}]</span>
<span id="gts-o-has-preorder">[{$oView->d3GAhasBackorderPreorder()}]</span>
<span id="gts-o-has-digital">[{$oView->d3GAhasDigitalGoods()}]</span>
<!-- end order and merchant information -->
<!-- start repeated item specific information -->
[{foreach from=$order->getOrderArticles() item=oOrderArticle}]
[{if $oD3GASettings->getValue('blD3GAUseNetto')}]
[{assign var="sPrice" value=$oOrderArticle->oxorderarticles__oxnprice->value}]
[{else}]
[{assign var="sPrice" value=$oOrderArticle->oxorderarticles__oxprice->value}]
[{/if}]
<span class="gts-item">
<span class="gts-i-name">[{$oOrderArticle->oxorderarticles__oxtitle->value|escape:"quotes"}]</span>
<span class="gts-i-price">[{$sPrice|string_format:"%.2f"}]</span>
<span class="gts-i-quantity">[{$oOrderArticle->getFieldData('oxamount')}]</span>
[{if $oD3GASettings->getValue('sD3GATSShoppingActive')}]
<span class="gts-i-prodsearch-id">[{$oView->d3GAgetProductId($oOrderArticle)}]</span>
<span class="gts-i-prodsearch-store-id">[{$oD3GASettings->getValue('sD3GATSShoppingAccountId')}]</span>
<span class="gts-i-prodsearch-country">[{$oD3GASettings->getValue('sD3GATSShoppingCountry')|upper}]</span>
<span class="gts-i-prodsearch-language">[{$oD3GASettings->getValue('sD3GATSShoppingLanguage')|lower}]</span>
[{/if}]
</span>
[{/foreach}]
<!-- end repeated item specific informations -->
</div>
<!-- END Google Trusted Stores Order -->
[{/block}]
[{/if}]

View File

@ -24,6 +24,9 @@ class d3_cfg_googleanalytics_adwords extends d3_cfg_mod_main
protected $_sModId = 'd3_googleanalytics';
protected $_sMenuItemTitle = 'd3mxgoogleanalytics';
protected $_sMenuSubItemTitle = 'd3tbclgoogleanalytics_adwords';
/**
* @return mixed
*/

View File

@ -24,6 +24,9 @@ class d3_cfg_googleanalytics_campaigns extends d3_cfg_mod_main
protected $_sModId = 'd3_googleanalytics';
protected $_sMenuItemTitle = 'd3mxgoogleanalytics';
protected $_sMenuSubItemTitle = 'd3tbclgoogleanalytics_campaigns';
/**
* @return mixed
*/

View File

@ -35,4 +35,5 @@ class d3_cfg_googleanalytics_licence extends d3_cfg_mod_licence
* @var string
*/
protected $_sHelpLinkMLAdd = '';
protected $_sMenuItemTitle = 'd3mxgoogleanalytics';
}

View File

@ -24,6 +24,8 @@ class d3_cfg_googleanalytics_main extends d3_cfg_mod_main
protected $_sModId = 'd3_googleanalytics';
protected $_blHasDebugSwitch = true;
protected $_sDebugHelpTextIdent = 'D3_GOOGLEANALYTICS_MAIN_DEBUG';
protected $_sMenuItemTitle = 'd3mxgoogleanalytics';
protected $_sMenuSubItemTitle = 'd3tbclgoogleanalytics_main';
/**
* @return mixed

View File

@ -22,4 +22,6 @@ class d3_cfg_googleanalytics_trustedstore extends d3_cfg_mod_main
{
protected $_sThisTemplate = 'd3_cfg_googleanalytics_trustedstore.tpl';
protected $_sModId = 'd3_googleanalytics';
protected $_sMenuItemTitle = 'd3mxgoogleanalytics';
protected $_sMenuSubItemTitle = 'd3tbclgoogleanalytics_trustedstore';
}

View File

@ -40,7 +40,7 @@ $aModule = array(
'Trusted Shops account to your shop.',
),
'thumbnail' => 'picture.png',
'version' => '3.3.2.0',
'version' => '3.4.0.0',
'author' => 'D&sup3; Data Development (Inh. Thomas Dartsch)',
'email' => 'support@shopmodule.com',
'url' => 'http://www.oxidmodule.com/',

View File

@ -20,6 +20,42 @@ class d3_google_remarketing_articlelister
public $blD3GARemarketingUseBrutto = true;
public $aStartListMethodNames = array(
'getArticleList',
'getTopArticleList',
'getNewestArticles',
'getFirstArticle',
'getCatOfferArticleList',
);
/**
* @param start $oView
*
* @return array
*/
public function getStartProdList($oView)
{
/** @var oxArticleList $oArticleList */
$oArticleList = oxNew('oxarticlelist');
if (is_array($this->aStartListMethodNames) && count($this->aStartListMethodNames)) {
foreach ($this->aStartListMethodNames as $sListName) {
/** @var oxArticleList $oList */
$mList = call_user_func(array($oView, $sListName));
if ($mList instanceof oxArticleList) {
if ($mList->count()) {
foreach ($mList->getArray() as $sID => $oArticle) {
$oArticleList->offsetSet($sID, $oArticle);
}
}
}
}
}
return $this->_getProductList($oArticleList);
}
/**
* @param details $oView
*
@ -32,6 +68,18 @@ class d3_google_remarketing_articlelister
return $this->_getProductList($aArticleList);
}
/**
* @param oxwArticleDetails $oView
*
* @return array
*/
public function getOxwarticledetailsProdList($oView)
{
$aArticleList = array();
$aArticleList[] = $oView->getProduct();
return $this->_getProductList($aArticleList);
}
/**
* @param alist $oView
*

View File

@ -18,6 +18,42 @@ class d3_google_trustedstore_articlelister
{
private $_sModId = 'd3_googleanalytics';
public $aStartListMethodNames = array(
'getArticleList',
'getTopArticleList',
'getNewestArticles',
'getFirstArticle',
'getCatOfferArticleList',
);
/**
* @param start $oView
*
* @return array
*/
public function getStartProdList($oView)
{
/** @var oxArticleList $oArticleList */
$oArticleList = oxNew('oxarticlelist');
if (is_array($this->aStartListMethodNames) && count($this->aStartListMethodNames)) {
foreach ($this->aStartListMethodNames as $sListName) {
/** @var oxArticleList $oList */
$mList = call_user_func(array($oView, $sListName));
if ($mList instanceof oxArticleList) {
if ($mList->count()) {
foreach ($mList->getArray() as $sID => $oArticle) {
$oArticleList->offsetSet($sID, $oArticle);
}
}
}
}
}
return $this->_getProductList($oArticleList);
}
/**
* @param details $oView
*
@ -30,6 +66,18 @@ class d3_google_trustedstore_articlelister
return $this->_getProductList($aArticleList);
}
/**
* @param oxwArticleDetails $oView
*
* @return array
*/
public function getOxwarticledetailsProdList($oView)
{
$aArticleList = array();
$aArticleList[] = $oView->getProduct();
return $this->_getProductList($aArticleList);
}
/**
* @param alist $oView
*

View File

@ -29,6 +29,7 @@ class d3_oxcmp_utils_googleanalytics extends d3_oxcmp_utils_googleanalytics_pare
'manufacturerlist' => 'category',
'vendorlist' => 'category',
'details' => 'product',
'oxwarticledetails' => 'product',
'basket' => 'cart',
'order' => 'purchase',
);
@ -64,9 +65,10 @@ class d3_oxcmp_utils_googleanalytics extends d3_oxcmp_utils_googleanalytics_pare
$oParentView->addTplParam('sD3GATSProdId', $this->d3GATSGetProdIdList($aInfos['aArtIdList']));
}
if ($oSet->getValue('blD3GASetRemarketing')) {
if ($oSet->getValue('blD3GASetRemarketing') || $oSet->getValue('blD3GAUseAnalyticsRemarketing')) {
$aInfos = $this->d3GetGAProdInfos();
$oParentView->addTplParam('sD3GARemarketingProdId', $this->d3GetGAProdIdList($aInfos['aArtIdList']));
$oParentView->addTplParam('sD3GARemarketingProdId2', $this->d3GetGAProdIdList($aInfos['aArtIdList'], false));
$oParentView->addTplParam(
'sD3GARemarketingPrice',
$aInfos['dPrice'] > 0 ? number_format($aInfos['dPrice'], 2, '.', ''): ''
@ -388,7 +390,9 @@ class d3_oxcmp_utils_googleanalytics extends d3_oxcmp_utils_googleanalytics_pare
if (method_exists($oArticleLister, $sMethodName)) {
stopProfile(__METHOD__);
return call_user_func(array($oArticleLister, $sMethodName), $oCurrentView);
$aRet = call_user_func(array($oArticleLister, $sMethodName), $oCurrentView);
stopProfile(__METHOD__);
return $aRet;
}
stopProfile(__METHOD__);
@ -401,12 +405,16 @@ class d3_oxcmp_utils_googleanalytics extends d3_oxcmp_utils_googleanalytics_pare
*
* @return string
*/
public function d3GetGAProdIdList($aArticleIds)
public function d3GetGAProdIdList($aArticleIds, $blFormatArray = true)
{
if (count($aArticleIds)) {
return "['".implode("', '", $aArticleIds)."']";
return $blFormatArray ?
"['".implode("', '", $aArticleIds)."']" :
"'".implode(", ", $aArticleIds)."'";
} else {
return "''";
return $blFormatArray ?
"''" :
false;
}
}

View File

@ -79,7 +79,11 @@ class d3_oxorder_googleanalytics extends d3_oxorder_googleanalytics_parent
*/
public function d3GetOrderPayVat()
{
return $this->getFieldData('oxpaycost') / 100 * $this->getFieldData('oxpayvat');
return round(
($this->getFieldData('oxpaycost') / (1 + $this->getFieldData('oxpayvat') / 100))
* ($this->getFieldData('oxpayvat')),
$this->getOrderCurrency()->decimal
) / 100;
}
/**
@ -87,7 +91,11 @@ class d3_oxorder_googleanalytics extends d3_oxorder_googleanalytics_parent
*/
public function d3GetOrderDelVat()
{
return $this->getFieldData('oxdelcost') / 100 * $this->getFieldData('oxdelvat');
return round(
($this->getFieldData('oxdelcost') / (1 + $this->getFieldData('oxdelvat') / 100))
* ($this->getFieldData('oxdelvat')),
$this->getOrderCurrency()->decimal
) / 100;
}
/**
@ -95,7 +103,11 @@ class d3_oxorder_googleanalytics extends d3_oxorder_googleanalytics_parent
*/
public function d3GetOrderWrapVat()
{
return $this->getFieldData('oxwrapcost') / 100 * $this->getFieldData('oxwrapvat');
return round(
($this->getFieldData('oxwrapcost') / (1 + $this->getFieldData('oxwrapvat') / 100))
* ($this->getFieldData('oxwrapvat')),
$this->getOrderCurrency()->decimal
) / 100;
}
/**
@ -103,7 +115,11 @@ class d3_oxorder_googleanalytics extends d3_oxorder_googleanalytics_parent
*/
public function d3GetOrderCardVat()
{
return $this->getFieldData('oxcardcost') / 100 * $this->getFieldData('oxcardvat');
return round(
($this->getFieldData('oxcardcost') / (1 + $this->getFieldData('oxcardvat') / 100))
* ($this->getFieldData('oxcardvat')),
$this->getOrderCurrency()->decimal
) / 100;
}
/**

View File

@ -21,18 +21,18 @@ class d3_googleanalytics_update extends d3install_updatebase
public $sModName = 'Google Services Schnittstelle';
public $sModVersion = '3.3.2.0';
public $sModVersion = '3.4.0.0';
public $sModRevision = '228';
public $sModRevision = '242';
// heredoc syntax using for class members is available from PHP 5.3 up
public $sBaseConf =
"9I7SjYrOVJJbDRCZTBFTjhiOVI5VElTamJwNDQ3Qk9FeWdLQjVXaHBaRFBHemxYV0NZYVJ2ZWN2SmMrS
m1taGh4OHk3Z0NXbUFDWUJaWjZXYVJicEM3a3AwTTFYWlVOZXlhYitWa2ptTDBLSVh0R1ArbkRYT3Jub
jE0cm1sSVgxOWpIMGQ1NjJ3TklEVTE1YW5YR1VueW4zcUNqZHNQK0NKRW1WOFpENGdISms4QTlDdS8xQ
kYzUldpVkJiNXVkUVZFK0dyd2hTcXRRb0tjN0ZCdHJ3VGJyVzZSbFdyc01yeXp4WVM3Sk9DblhqR0ZIY
lZWa0h3WGF3b0NYWlloT0dsU0dPYkJpWjR6M3dWdllFVFE0eVhiQWM0cHdLdmQ4cHhYR1kySWZ3T2EzW
DQ9";
"ZJ0MzB1N2F3em43V1dqWXkvVnc1WXVOeStnMU95aHM2d1BiZEJlbGVhbzNIcE5nTVJxQlZYOEFwU2RrK
2dBSUlQNm43Ly9ldkNZUlFEemNNNmVvVXlTNWRwSVp5RGk4UGxKb2xTckQ4U2pRWUZKVFR1bWx3N0dRU
3FzbThEOGNqSWcvZDFXNVJhSlUydEFwejZ2OFRRektPai9nNVcvWGJURGV2SGJpTkZxMjBOM1pXMkJRU
jVoN1dybnBhTlFWQ0s2Lzh4NjMvZXZMMlJHV21LTnNJcDBIWngxSkJVM3hDODZ4bzBaWS9zRHZ1WC9jY
UtkNFB6WEdzR2NLMG8yWGpMdG9XTmZsQ0lCNkdGSzZ1N0JRMFVlV3JhRXhtZ2tNUi9pd3hsMDIwRlNHY
np5bjJIQjE5aGIycW4wSGpCQXI5alVwYmJreTBRS3NMckNQODZvYXJnZjdBPT0=";
public $sRequirements = '';

View File

@ -27,7 +27,7 @@ $aLang = array(
//Navigation
'charset' => 'ISO-8859-15',
'd3mxgoogleanalytics' => 'Google Services',
'd3mxgoogleanalytics' => "<i class='fa fa-google'></i> Google Services",
'd3mxgoogleanalytics_settings' => 'Einstellungen',
'd3tbclgoogleanalytics_main' => 'Analytics',
'd3tbclgoogleanalytics_adwords' => 'AdWords',
@ -198,6 +198,15 @@ $aLang = array(
'_gat.GA_Tracker_._setDetectTitle" target="gahelp">hier</a>. Diese Einstellung steht f&uuml;r Universal '.
'Analytics nicht mehr zur Verf&uuml;gung',
'D3_GOOGLEANALYTICS_ANALYTICSREMARKETING' => 'Remarketing (via Analytics)',
'D3_GOOGLEANALYTICS_ANALYTICSREMARKETING_TRANSMIT' => 'Remarketingdaten als individuelle Daten &uuml;bertragen',
'D3_GOOGLEANALYTICS_ANALYTICSREMARKETING_TRANSMIT_DESC' => 'Aktivieren Sie die Option, wenn Sie die '.
'Remarketingdaten au&szlig;erhalb von AdWords &uuml;bertragen m&ouml;chten. Diese werden dann als '.
'individuelle Daten gesendet. Richten Sie die Dimensionen so ein, wie dies unter '.
'<a href="https://support.google.com/analytics/answer/3455600?hl=de&ref_topic=3455490" target="gahelp">dem '.
'Google-Beitrag</a> beschrieben ist.<br>Zus&auml;tzliche &quot;individuelle Daten&quot; werden dann ab der '.
'4. Dimension &uuml;bermittelt.',
'D3_GOOGLEANALYTICS_CUSTOMVARS' => 'individuelle Daten',
'D3_GOOGLEANALYTICS_CUSTOMVARS_TRANSMIT' => 'individuelle Daten &uuml;bertragen',
'D3_GOOGLEANALYTICS_CUSTOMVARS_TRANSMIT_DESC' => 'Mit individuellen Daten k&ouml;nnen Sie '.
@ -291,7 +300,7 @@ $aLang = array(
'target="gahelp">hier</a></li><li>Universal: <a href="https://developers.google.com/analytics/devguides/'.
'collection/analyticsjs/field-reference#campaignContent" target="gahelp">hier</a></li></ul>',
'D3_GOOGLEANALYTICS_ADWORDSREMARKETING' => 'Remarketing',
'D3_GOOGLEANALYTICS_ADWORDSREMARKETING' => 'Remarketing (via AdWords)',
'D3_GOOGLEANALYTICS_ADWORDS_SETREMARKETING' => 'Remarketing-Code aktivieren',
'D3_GOOGLEANALYTICS_ADWORDS_SETREMARKETING_DESC' => 'Die Option aktiviert den Remarketing-Code. '.
'Dann ist die Eingabe der Conversion-ID obligatorisch.',
@ -315,7 +324,7 @@ $aLang = array(
'D3_GOOGLEANALYTICS_SETCAMPAIGNTHANKYOUONLY' => 'Kampagnendaten nur in Bestellabschlussseite '.
'verwenden',
'D3_GOOGLEANALYTICS_SETCAMPAIGNTHANKYOUONLY_DESC' => 'Ist dieser Haken nicht gesetzt, wird der '.
'Kampagnencode shopweit eingefügt. Ob diese Einstellung notwendig ist, erfahren Sie bei Ihrem Conversion '.
'Kampagnencode shopweit eingef&uuml;gt. Ob diese Einstellung notwendig ist, erfahren Sie bei Ihrem Conversion '.
'Tracking Anbieter.',
'D3_GOOGLEANALYTICS_CAMPAIGNCODE_CODE' => 'Code',
'D3_GOOGLEANALYTICS_CAMPAIGNCODE_CODE_DESC' => 'Kopieren Sie hier den Kampagnen-Tracking-Code '.

View File

@ -27,7 +27,7 @@ $aLang = array(
//Navigation
'charset' => 'ISO-8859-15',
'd3mxgoogleanalytics' => 'Google Services',
'd3mxgoogleanalytics' => "<i class='fa fa-google'></i> Google Services",
'd3mxgoogleanalytics_settings' => 'Settings',
'd3tbclgoogleanalytics_main' => 'Analytics',
'd3tbclgoogleanalytics_adwords' => 'AdWords',
@ -198,6 +198,15 @@ $aLang = array(
'_gat.GA_Tracker_._setDetectTitle" target="gahelp">hier</a>. Diese Einstellung steht f&uuml;r Universal '.
'Analytics nicht mehr zur Verf&uuml;gung',
'D3_GOOGLEANALYTICS_ANALYTICSREMARKETING' => 'Remarketing (via Analytics)',
'D3_GOOGLEANALYTICS_ANALYTICSREMARKETING_TRANSMIT' => 'Remarketingdaten als individuelle Daten &uuml;bertragen',
'D3_GOOGLEANALYTICS_ANALYTICSREMARKETING_TRANSMIT_DESC' => 'Aktivieren Sie die Option, wenn Sie die '.
'Remarketingdaten au&szlig;erhalb von AdWords &uuml;bertragen m&ouml;chten. Diese werden dann als '.
'individuelle Daten gesendet. Richten Sie die Dimensionen so ein, wie dies unter '.
'<a href="https://support.google.com/analytics/answer/3455600?hl=de&ref_topic=3455490" target="gahelp">dem '.
'Google-Beitrag</a> beschrieben ist.<br>Zus&auml;tzliche &quot;individuelle Daten&quot; werden dann ab der '.
'4. Dimension &uuml;bermittelt.',
'D3_GOOGLEANALYTICS_CUSTOMVARS' => 'individuelle Daten',
'D3_GOOGLEANALYTICS_CUSTOMVARS_TRANSMIT' => 'individuelle Daten &uuml;bertragen',
'D3_GOOGLEANALYTICS_CUSTOMVARS_TRANSMIT_DESC' => 'Mit individuellen Daten k&ouml;nnen Sie '.
@ -291,7 +300,7 @@ $aLang = array(
'target="gahelp">hier</a></li><li>Universal: <a href="https://developers.google.com/analytics/devguides/'.
'collection/analyticsjs/field-reference#campaignContent" target="gahelp">hier</a></li></ul>',
'D3_GOOGLEANALYTICS_ADWORDSREMARKETING' => 'Remarketing',
'D3_GOOGLEANALYTICS_ADWORDSREMARKETING' => 'Remarketing (via AdWords)',
'D3_GOOGLEANALYTICS_ADWORDS_SETREMARKETING' => 'Remarketing-Code aktivieren',
'D3_GOOGLEANALYTICS_ADWORDS_SETREMARKETING_DESC' => 'Die Option aktiviert den Remarketing-Code. '.
'Dann ist die Eingabe der Conversion-ID obligatorisch.',
@ -395,9 +404,9 @@ $aLang = array(
'D3_GOOGLEANALYTICS_MAIN_USEOPTOUT' => 'Opt Out anbieten',
'D3_GOOGLEANALYTICS_MAIN_USEOPTOUT_DESC' => '<p>Wird dieser Haken gesetzt, wird im Frontend '.
'ein Opt-Out-Bereich im Header angezeigt. In dem Bereich kann der Benutzer einen Link anklicken, '.
'mit dem für diesen Nutzer das Tracking für diese Seite deaktiviert wird.</p><p>Weitere Informationen zu '.
'dieser Option finden Sie in der <a href="https://www.google.de/search?q=Analytics+_opt+out+script" '.
'target="gahelp">Google-Suche</a>.</p>',
'mit dem das Tracking für diese Seite deaktiviert wird.</p><p>Weitere Informationen zu dieser Option finden '.
'Sie in der <a href="https://www.google.de/search?q=Analytics+_opt+out+script" target="gahelp">Google-Suche'.
'</a>.</p>',
// Erweiterung des Links in der Fussnote "Hilfe Starten"
'D3_GOOGLEANALYTICS_HELPLINK' => 'Fragen-zu-speziellen-Modulen/Google-Analytics/',
@ -405,7 +414,5 @@ $aLang = array(
/*
[{ oxmultilang ident="GENERAL_YOUWANTTODELETE" }]
[{oxmultilang ident="GENERAL_YOUWANTTODELETE"}]
*/

View File

@ -321,14 +321,4 @@ function _groupExp(el) {
</tr>
</table>
[{include file="d3_cfg_mod_inc.tpl"}]
<script type="text/javascript">
if (parent.parent) {
parent.parent.sShopTitle = "[{$actshopobj->oxshops__oxname->getRawValue()|oxaddslashes}]";
parent.parent.sMenuItem = "[{oxmultilang ident="d3mxgoogleanalytics"}]";
parent.parent.sMenuSubItem = "[{oxmultilang ident="d3tbclgoogleanalytics_adwords"}]";
parent.parent.sWorkArea = "[{$_act}]";
parent.parent.setTitle();
}
</script>
[{include file="d3_cfg_mod_inc.tpl"}]

View File

@ -174,13 +174,3 @@ function _groupExp(el) {
</table>
[{include file="d3_cfg_mod_inc.tpl"}]
<script type="text/javascript">
if (parent.parent) {
parent.parent.sShopTitle = "[{$actshopobj->oxshops__oxname->getRawValue()|oxaddslashes}]";
parent.parent.sMenuItem = "[{oxmultilang ident="d3mxgoogleanalytics"}]";
parent.parent.sMenuSubItem = "[{oxmultilang ident="d3tbclgoogleanalytics_adwords"}]";
parent.parent.sWorkArea = "[{$_act}]";
parent.parent.setTitle();
}
</script>

View File

@ -389,6 +389,26 @@
</div>
</div>
<div class="groupExp">
<div class="">
<a class="rc" onclick="_groupExp(this); return false;" href="#">
<span style="font-weight: bold;">
[{oxmultilang ident="D3_GOOGLEANALYTICS_ANALYTICSREMARKETING"}]
</span>
</a>
<dl>
<dt>
<label for="blD3GAUseAnalyticsRemarketing">[{oxmultilang ident="D3_GOOGLEANALYTICS_ANALYTICSREMARKETING_TRANSMIT"}]</label>
</dt>
<dd>
<input type="hidden" name="value[blD3GAUseAnalyticsRemarketing]" value="0">
<input id="blD3GAUseAnalyticsRemarketing" class="edittext ext_edittext" type="checkbox" value="1" [{if $edit->getValue('blD3GAUseAnalyticsRemarketing')}]checked[{/if}] name="value[blD3GAUseAnalyticsRemarketing]">
[{oxinputhelp ident="D3_GOOGLEANALYTICS_ANALYTICSREMARKETING_TRANSMIT_DESC"}]
</dd>
</dl>
</div>
</div>
<div class="groupExp">
<div class="">
<a class="rc" onclick="_groupExp(this); return false;" href="#">
@ -428,15 +448,4 @@
</table>
</form>
[{assign var="incpath" value=$oViewConf->getModulePath('d3modcfg_lib')|cat:"views/admin/tpl/d3_cfg_mod_inc.tpl"}]
[{include file="d3_cfg_mod_inc.tpl"}]
<script type="text/javascript">
if (parent.parent) {
parent.parent.sShopTitle = "[{$actshopobj->oxshops__oxname->getRawValue()|oxaddslashes}]";
parent.parent.sMenuItem = "[{oxmultilang ident="d3mxgoogleanalytics"}]";
parent.parent.sMenuSubItem = "[{oxmultilang ident="d3tbclgoogleanalytics_main"}]";
parent.parent.sWorkArea = "[{$_act}]";
parent.parent.setTitle();
}
</script>

View File

@ -235,15 +235,4 @@
</table>
</form>
[{assign var="incpath" value=$oViewConf->getModulePath('d3modcfg_lib')|cat:"views/admin/tpl/d3_cfg_mod_inc.tpl"}]
[{include file="d3_cfg_mod_inc.tpl"}]
<script type="text/javascript">
if (parent.parent) {
parent.parent.sShopTitle = "[{$actshopobj->oxshops__oxname->getRawValue()|oxaddslashes}]";
parent.parent.sMenuItem = "[{oxmultilang ident="d3mxgoogleanalytics"}]";
parent.parent.sMenuSubItem = "[{oxmultilang ident="d3tbclgoogleanalytics_main"}]";
parent.parent.sWorkArea = "[{$_act}]";
parent.parent.setTitle();
}
</script>

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,12 @@
=> 3.4.0.0
- Remarketing (via Analytics) eingefügt
- Remarketing-Liste für Startseite eingefügt
- Template-Blöcke eingefügt
- Titel der Konfigurationsseiten angepasst
- Staffelpreisübergaben korrigiert (#3679)
- Steuerberechnung korrigiert
- Scriptsyntax angepasst
=> 3.3.2.0
- fix: Optionen im Admin können nicht deaktivert werden
- "Zertifizierter Händler" im Shop aktivieren